@Weil
2015-10-23T07:56:22.000000Z
字数 1836
阅读 828
程序文档
可以使用formData上传文件,也可以直接将文件放到http请求body中。
var myHtml5UploadTool = {};Html5Upload.init({fileEle: domElement, // 原生的input DOM元素pasteEle: domElement, // 原生的粘贴区域DOM元素dropEle: domElement, // 原生的拖拽区域DOM元素cancelAllEle: domElement, // 原生的取消全部文件上传的DOM元素 不可用状态!!!isFormData: Boolean, // 是否使用FormData传输数据fileKey: String, // 如果使用FormData 文件的key值headers: Object, // 传输头的对象formData: Object // 需要发送的formData数据,用对象表示method: String // 传输的方法url: String // 传输的urltaskLen: Number // 允许同时上传的文件个数externalData: Object // 目前仅有 uploadingCount (正在上传中) 这一个属性tool: myHtml5UploadTool Object // 目前仅有updateTool这个方法}).on("add", function(task){if(task.thisQueueEffective == false){task.isUpload = false;return;}// 给图片重命名 只有是剪切板的文件的时候才会出现没有文件名的情况if(task.name === undefined){task.name = "来自剪切板_20150303";}task.data = data;if(判断文件不符合规定){task.isUpload = false;}if(task.waitingQueueLength > 5){// 提示用户不能上传太多文件啦task.isUpload = false;}// 绑定元素和操作task.el = fileItem;task.cancelEle = fileItem.querySelector(".file-cancel");}).on("progress", function(task){task.progress.percent; // "33%"task.progress.loadedSize; // "3.3MB"task.progress.percentSize; // "3.3MB/33MB"}).on("complete", function(task){// 上传完成 但是还没有收到返回}.on("success", function(task){// 上传成功task.response; //返回的消息体}).on("error", function(task){// 上传失败}).on("cancelBefore", function(task){// 取消上传之前 isUpload 为false就会取消if(确定取消上传){task.isUpload = false;task.cancel();}}).on("cancel", function(task){// 取消上传 可以做删除DOM之类的操作});myHtml5UploadTool.addFile(somefile);
task
task中本身就带有的属性
file 文件对象type 文件的mimeTypename 文件名字 如果是剪切板获得的 就没有名字 需要自己指定formatSize 经过格式化后的文件大小cancelEle 取消文件上传绑定的DOM元素waitingQueueLength 正在等待上传的文件个数thisQueueEffective 本次上传队列是否可用task中可更改的属性
isFormData 是否使用FormData传输数据fileKey 如果使用FormData 文件的key值el 建议将需要更改的DOM元素绑定到这个变量上headers 传输头,用对象表示formData 需要发送的formData数据,用对象表示method 传输的方法url 传输的urlisUpload 是否允许上传isWaiting 是否等待用户确认blobName formData数据中文件名task中可更改的方法
- waitingToOk 从等待状态到可以上传
- waitingToCancel 从等待状态到可以上传