jQuery h5拖拽多文件上传

所属分类:输入-上传

 12060  74  查看评论 (12)
jQuery h5拖拽多文件上传 ie兼容10

使用说明

1、拖拽外部文件有四步:

  • 拖拽外部文件,进入目标元素触发

  • 拖拽外部文件,进入目标、离开目标之间,连续触发

  • 拖拽外部文件,离开目标元素触发

  • 拖拽外部文件,在目标元素上释放鼠标触发

在释放鼠标时,可以得到这个事件的ev.originalEvent.dataTransfer.files;这个是一个类数组,每一个即拖拽的文件。

2、input控件:当input控件触发change事件时,可以得到这个文件的this.files属性,它是一个类数组,就是这个控件上传的元素。

3、解析这个类数组。如:

fileObj = ev.originalEvent.dataTransfer.files;
fileObj[0].name上传的单个文件名
fileObj[0].size文件大小
fileObj[0].type文件类型

4、解析了以后在本地展示

5、上传

上传这里要注意:使用

var formData = new FormData();

每一个元素的内容,放入这个对象中如:

formData.append("imageFile" , result);

然后再用ajax上传这个formData对象。

6、这里上传用了进度条,是ajax的progress事件(注意这块)

7、终止上传:

var request = $.ajax({});
request.abort();


相关插件-上传

js上传图片预览

js上传图片本地预览
  上传
 35980  144

Plupload文件上传插件

Plupload这个JavaScript控件可以让你选择Adobe Flash、Google Gears、HTML5、Microsoft Silverlight、Yahoo BrowserPlus或正常表单Form等多种方法进行文件上传。
  上传
 96691  115

基于amazeui头像上传

基于amazeui框架,设计的头像上传插件
  上传
 2254  32

jquery头像上传剪裁插件cropper

cropper是一款使用简单且功能强大的图片剪裁jQuery插件
  上传
 10865  118

讨论这个项目(12)回答他人问题或分享插件使用方法奖励jQ币

    断浪 0
    2017/3/12 20:34:16

    这个插件怎么把文件在后台接收呢?

        颜值爆表的冯先生0
        2017/3/15 11:13:05

        解决了么 怎么在后台接受

    回复
    我是你家龙龙老表 0
    2017/2/25 13:08:50

    其实这个插件是有问题的,他源代码中的

    其实是不对的,因该是把文件名放进去sizeObj.push(name),同时修改sizeObj.indexOf(name)!=-1,这样有相同名字的文件才认为是重复,按照他源代码所示是一旦两个文件的大小相同,就会认为是重复,这肯定不对晒!

    回复
    尹铭 0
    2017/2/10 15:18:22
    这个插件怎么用啊,不知道怎么才能把file传到后台 回复
    小蜗牛 0
    2017/2/9 17:04:12

    厉害,看效果很厉害

        0
        2017/3/21 17:57:35
        确实很厉害
    回复
    葫芦柳柳 0
    2017/2/8 17:41:53

    不好意思 解决啦  非常好用

    回复
    葫芦柳柳 0
    2017/2/8 16:51:51

    文件传到那里去啦呀  我用的是php

        尹铭0
        2017/2/10 15:20:09

        你知道文件传到哪里了?

    回复
    zhixunqiu 0
    2016/12/29 14:12:26
    DoraeMon 0
    2016/12/16 16:12:26

    360极速卡死了~~~

    回复
    tianxiang2046 0
    2016/11/17 11:11:00
    非常好的东东,能否不要JQ币呀 回复
取消回复