HTML5图片上传(支持多图片)

所属分类:输入-上传

 44773  316  查看评论 (15)
分享到微信朋友圈
X
HTML5图片上传(支持多图片) ie兼容11

更新时间:2019/2/10 下午4:07:57

更新说明:

test.js:

1.  删除一些没用的参数和方法

2.  更新提交上传方法 重建文件方法实现起来更简单了

PS:PHP环境下上传图片后开启调试模式NETWORK打开之后按提交就可以看到文件的参数了

这里就提供这一种思路: 用$_FILES里的name和上传上来的$_POST OR $_GET 中的某参数建立索引就可以想办法把数据和图片绑定起来了


说明

1.写在头上~样式从这位大大参考了一下

http://www.jq22.com/jquery-info1845

仅参考样式 既然这位大大没有要求JQ币我也直接~ 后端程序猿一枚 请各位前端大大轻喷 Orz

2.因为从这位大大这里下载的插件并不符合我这里的业务需求 所以干脆自己写了一个 由于上头说不要让服务器有太多的废文件 所以采用了FileReader的机制 

3.如果有任何建议直接在评论留言就好啦~本机只有IE11,火狐,谷歌 测试是可以兼容的 低版本如果不支持FileReader是不可以使用的 

使用方法 ~

1. 本地使用的JQ包是 jquery-3.3.1.min.js 低版本应该也可以兼容 导入它~

2. 导入样式文件 index.css 

3. 导入js文件 fileInput.js 这个就是核心文件啦

4. 导入js文件 test.js 这个是利用formData发送文件到后台的测试JS文件仿造我这里的业务需求的 可以参考

5. 按道理来说 这里就可以直接在你的button上放触发方法了

onclick="up_files($(this))"

选择器对象一定要带哦~


这里是我后端测试的时候发现的一点问题 这样写确实可以降低废文件的冗余问题了 也可以把文件传到后台

但是我这个逻辑 文件的索引又是一大问题 所以我在test.js中有写改掉file的name但是后来问度娘说是file是只读的 所以要new一个新的对象才能重写文件名 就比较麻烦

这里是PHP作为后台获取文件数据的

用$_FILES获取的话只有五个基本属性

我在上传的每个文件里都有定义新属性

但是无奈它PHP抓不到

console.log已经封装成p 可以直接调用了

有问题或者建议的小伙伴和大佬们可以直接在评论留言~ 共同勉励~

注意:导入如果发现跟原项目有层级覆盖的情况可以在index.css文件中调整z-index层级关系

相关插件-上传

webuploader 上传插件(根据官方做了小改)

webuploader上传插件,上图之前图片可编辑、可随意排版上传图片顺序
  上传
 67824  474

h5拖拽文件图片上传插件

支持拖拽上传,拖拽排序,图片压缩的简单上传插件
  上传
 67819  495

pc端图片批量上传,可拖动图片交换位置

jQuery可批量上传图片 可以拖动交换位置 可删除
  上传
 62504  459

html5文件上传插件Pure HTML5 file upload

html5文件上传插件Pure HTML5 file upload
  上传
 78887  381

讨论这个项目(15)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    ╉Lt° 0
    2021/11/23 10:50:20
    这个看看,感觉还不错~ 回复
    淡梦つ灰色 0
    2020/5/4 22:18:07
    后台该怎么处理呢,将你那些写入一个文件中吗 回复
    上上谦 0
    2020/3/11 15:49:01
    请问 ajax怎样获取返回的图片地址并引用formdata提交到表单
    接收文件呢?
        上上谦0
        2020/3/11 15:52:29
        已解决 有点尴尬 好东西楼主一生平安
    回复
    hsyzzhl 0
    2020/3/4 23:25:34
    请问 ajax怎样获取返回的图片地址并引用formdata提交到表单
    接收文件呢?
        上上谦0
        2020/3/11 15:48:14
        解决了吗 我也想问这个
        上上谦0
        2020/3/11 15:48:38
        求回复
    回复
    hsyzzhl 0
    2020/3/2 5:24:21
    360浏览器控制台错误提示:
    SCRIPT445: 对象不支持此操作
    test.js, 行17 字符9
    火狐浏览器控制台错误提示:
    Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead
    不知道是哪里出问题了,大神何时有空,还请指教指教啊。
    谢谢啊。 回复
    ???匏葚豕 0
    2019/6/1 11:29:35
    编辑图片时图片怎么回显呢?
        大叔酱丶1
        2019/6/9 18:30:16
        回显建议不走插件 在别的元素中插入图片回显 插件仅上传新图片时使用
    回复
    我是全村的希望 0
    2019/5/14 11:30:38
    好东西,楼主好人一生平安。 回复
    。。 0
    2019/3/28 17:19:41
    后台怎样接收图片到指定文件夹?
        大叔酱丶1
        2019/4/1 16:12:38
        那是后端怎么处理的问题了
        一般就是mkdir()创建文件夹 然后把$_FILES的临时文件塞进去就行了
        服务器路径注意文件夹权限哦
    回复
    夜幕下灬雪狼 0
    2019/2/12 1:28:33
    可以尝试集成一下Cropper.js.
        大叔酱丶0
        2019/2/12 17:06:08
        有空我尝试一下~ _(:з」∠)_
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复