首页 > 其他分享 >h5上传图片的两种方法

h5上传图片的两种方法

时间:2023-06-05 17:56:54浏览次数:64  
标签:function false data formData h5 var 上传 图片

上传方法

一、ajax用formData对象上传

介绍一下formData:FormData对象把数据编译成键值对的形式,用XMLHttpRequest来发送数据。

注意:

1.要将编码方式(enctype属性) 设置成 multipart/form-data

2.不设置内容类型 (contentType: false)

3.不处理数据 (processData: false)

html代码:

 <input accept="image/*"  type="file" id="uploadIMG"  onchange="btnUploadFile(event)"/>

js代码:

function btnUploadFile(e){
 
var imgFile = e.target.files[0]; //获取图片文件
var formData = new FormData();  // 创建form对象
formData.append('file', imgFile);  // 通过append向form对象添加数据
formData.append('other', 'other')  // 如果还需要传替他参数的话
$.ajax({
    url: url, //请求的接口地址
    type: 'POST',
    cache: false, //上传文件不需要缓存
    data: formData,
    processData: false, // 不要去处理发送的数据
    contentType: false, // 不要去设置Content-Type请求头
    success: function(data){
        
    },
    error: function(err){
        console.log(err)
    }
})
 
}

二、用base64的方法

html:

<input accept="image/*"  type="file" id="uploadIMG"  onchange="btnUploadFile(event)"/>
<img src="" alt="" id="showIMG"> 

js:

function btnUploadFile(e,type){
        //获取图片
        var files = e.target.files;
        var file = files[0];
        // 接受 jpeg, jpg, png 类型的图片
        if (!/\/(?:jpeg|jpg|png)/i.test(file.type)){
            return;
        }
        var reader = new FileReader();
        reader.onload = function() { 
            var result = this.result;  //图片base64字符串
            $("#showIMG").attr("src",result);  //展示图片
        };
        reader.readAsDataURL(file);    //Base64
    }
 
function upload(baseIMG){
   $.ajax({
       url: url,  //上传的地址
       type: "post",
       data: {"imgsrc": baseIMG},
       success: function(data){
        
       }
   })
}

 

标签:function,false,data,formData,h5,var,上传,图片
From: https://www.cnblogs.com/redFeather/p/17458554.html

相关文章

  • C# FileUpload 实现上传限定类型和大小的文件到服务器
    上传文件有两个主要的目的地,一个是服务器,另一个是数据库,ASP.NET内置了FileUpload这个上传控件,文本框显示用户选择的文件的全名.其属性主要包括:ContenLength:上传文件大小,单位:字节FileName:文件名称HasFile:是否选择了文件例子:测试环境.net2.0(内有详细说明)default......
  • 如何将word图片粘贴到KindEditor里面
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@     page contentType="text/html;cha......
  • 某OA 11.10 未授权任意文件上传
    漏洞简介之前也对通达oa做过比较具体的分析和漏洞挖掘,前几天看到通达oa11.10存在未授权任意文件上传漏洞,于是也打算对此进行复现和分析。环境搭建https://www.tongda2000.com/download/p2019.php下载地址:https://cdndown.tongda2000.com/oa/2019/TDOA11.10.exe查看版......
  • 如何将word图片粘贴到wangEditor里面
    ​ 如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>......
  • nginx配置图片服务器
    startnginx           //运行nginx nginx-sstop     //停止nginxnginx-sreload   //重新加载配置文件(如修改配置文件后,可通过该命令重新加载)nginx-squit     //退出nginxnginx-v        //......
  • 通过图片流来返回图片
    通过图片流来返回图片前言之前写了个图片接口,然后做了个授权,但是光返回图片地址虽然能适应大部分需求,但是考虑到有些人不想去处理返回值,也是做了个直接返回图片流的接口。接口展示返回指定宽度和高度图片流直接返回原图接口实现Service层如何返回图片流给前端呢,首先写个......
  • Andrid listview异步图片加载之优化篇
    关于listview的异步加载,网上其实很多示例了,总体思想差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此,本人在网上找了个相对理想的版本并在此基础上进行改造,下面就让在下阐述其原理以探索个中奥秘,与诸君共赏…        贴张效果图先:         异步加载......
  • 基于Selenium库的python爬虫脚本,爬取painterest上的图片
    基于Selenium库的python爬虫脚本,爬取painterest上的图片问题背景Pinterest是一个社交媒体平台,它提供了一个虚拟的个人兴趣画板,让用户可以收集和分享他们喜欢的图片、视频和链接。上面有许多优秀的图片供浏览和下载,但是一个个点图片下载非常麻烦。于是想要用Python语言写一个自......
  • 使用 Nginx Upload Module 实现上传文件功能
    普通网站在实现文件上传功能的时候,一般是使用Python,Java等后端程序实现,比较麻烦。Nginx有一个Upload模块,可以非常简单的实现文件上传功能。此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面。下面和大......
  • Excel批量插入图片(Excel函数集团)
    批量插入图片,归函数集团管了?对,你没看错,就是函数集团的活!因为Microsoft365出了一个新函数:IMAGE!所以,以前折腾的那种一堆合并以后再贴进txt文本文件再贴回来的,没用了?是与不是,我们用实例来说话! ***一条不算太华丽的分割线***准备工作1:一堆图片图片还是那个图片,但保存的位置却不是那个......