[关闭]
@Weil 2015-10-23T07:56:22.000000Z 字数 1836 阅读 827

html5Upload.js

程序文档

功能

可以使用formData上传文件,也可以直接将文件放到http请求body中。

demo

  1. var myHtml5UploadTool {};
  2. Html5Upload.init({
  3. fileEle: domElement, // 原生的input DOM元素
  4. pasteEle: domElement, // 原生的粘贴区域DOM元素
  5. dropEle: domElement, // 原生的拖拽区域DOM元素
  6. cancelAllEle: domElement, // 原生的取消全部文件上传的DOM元素 不可用状态!!!
  7. isFormData: Boolean, // 是否使用FormData传输数据
  8. fileKey: String, // 如果使用FormData 文件的key值
  9. headers: Object, // 传输头的对象
  10. formData: Object // 需要发送的formData数据,用对象表示
  11. method: String // 传输的方法
  12. url: String // 传输的url
  13. taskLen: Number // 允许同时上传的文件个数
  14. externalData: Object // 目前仅有 uploadingCount (正在上传中) 这一个属性
  15. tool: myHtml5UploadTool Object // 目前仅有updateTool这个方法
  16. }).on("add", function(task){
  17. if(task.thisQueueEffective == false){
  18. task.isUpload = false;
  19. return;
  20. }
  21. // 给图片重命名 只有是剪切板的文件的时候才会出现没有文件名的情况
  22. if(task.name === undefined){
  23. task.name = "来自剪切板_20150303";
  24. }
  25. task.data = data;
  26. if(判断文件不符合规定){
  27. task.isUpload = false;
  28. }
  29. if(task.waitingQueueLength > 5){
  30. // 提示用户不能上传太多文件啦
  31. task.isUpload = false;
  32. }
  33. // 绑定元素和操作
  34. task.el = fileItem;
  35. task.cancelEle = fileItem.querySelector(".file-cancel");
  36. }).on("progress", function(task){
  37. task.progress.percent; // "33%"
  38. task.progress.loadedSize; // "3.3MB"
  39. task.progress.percentSize; // "3.3MB/33MB"
  40. }).on("complete", function(task){
  41. // 上传完成 但是还没有收到返回
  42. }.on("success", function(task){
  43. // 上传成功
  44. task.response; //返回的消息体
  45. }).on("error", function(task){
  46. // 上传失败
  47. }).on("cancelBefore", function(task){
  48. // 取消上传之前 isUpload 为false就会取消
  49. if(确定取消上传){
  50. task.isUpload = false;
  51. task.cancel();
  52. }
  53. }).on("cancel", function(task){
  54. // 取消上传 可以做删除DOM之类的操作
  55. });
  56. myHtml5UploadTool.addFile(somefile);

demo 解释

task

task中本身就带有的属性

task中可更改的属性

task中可更改的方法
- waitingToOk 从等待状态到可以上传
- waitingToCancel 从等待状态到可以上传

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注