FormData实现上传多图片,学习使用FormData
来源:互联网 发布:档案数据存储制度 编辑:程序博客网 时间:2024/06/06 12:49
FormData对象是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利。
今天我们使用dropzone和FormData实现多文件上传功能。
var SAMP = null; //Dropzone对象 SAMP = new Dropzone("#dropzone", { url: "#", //后台响应的链接 maxFiles: 4, //最大可以传输的文件数量 目前我们设定为1 maxFilesize: 2048, //文件大小的限制 acceptedFiles: ".png,.jpg,.gif,.jpeg,.bmp", // 文件格式的限制 autoProcessQueue:false, //文件是否自动传回到后台 myAwesomeDropzone:false, })
我们设置文件不自动上传,而通过控件按钮实现上传功能。首先我们创建一个Dropzone对象,设置上传的最大文件数量,文件大小等。
var myFormData = new FormData()
创建Form Data对象
SAMP.on("addedfile", function(file) { myFormData.append(file.name, file) })
给Dropzone对象注册addedfile事件,当上传文件时,FormData对象的append()函数是以键值对的方式向myFormData成对成对的增添图片对象。
$.ajax({
type:'POST', url:"/upload-img/", data:myFormData, processData: false,//*必须写 contentType: false,//*必须写
success:function(data){
...
},
error:function(XMLHttpRequest, textStatus, errorThrown){
...
}
});
在使用FormData对象通过Ajax向后台传数据时,必须在选项中设置"processData: false,contentType: false,"两项,否则会报错。
processData
设置为false
。因为data
值是FormData
对象,不需要对数据做处理。
contentType
设置为false
。因为是由<form>
表单构造的FormData
对象,且已经声明了属性enctype="multipart/form-data"
,所以这里设置为false。
0 0
- FormData实现上传多图片,学习使用FormData
- FormData实现上传多图片,学习使用FormData
- FormData实现上传多图片,学习使用FormData
- FormData--JQuery使用FormData利用Ajax实现多图片、文件上传
- ajax+FormData实现图片上传
- iOS 使用formData 上传图片
- javascript 使用FormData实现图片/文件异步上传
- formdata上传图片
- FormData图片预览上传
- js实现图片预览和FormData上传
- 使用FormData上传文件
- 使用FormData上传文件
- 使用formData上传文件
- EXTJS使用H5 formdata实现多文件上传
- 前端使用FormData实现上传文件
- 使用FormData实现异步上传文件
- formData用ajax上传图片
- FormData 实现文件上传实例
- swoole_server中内存管理机制
- JAVA类加载机制详解
- 项目经理必备的八大能力
- <input style="ime-mode:disabled">
- 使用jsonp完美解决跨域问题
- FormData实现上传多图片,学习使用FormData
- JavaScript 中的工厂函数
- 《数据结构和算法》之栈的创建、插入和取出 二进制转换成十进制
- Swift类和结构体详解
- Spring IOC和AOP 原理彻底搞懂
- 289. Game of Life
- 在Ubuntu下的Spark单机部署安装
- 微服务框架-基础框架
- 遍历数组删除某元素的方法