H5完成多图片上传的实例详解


本文摘自PHP中文网,作者Y2J,侵删。

这篇文章主要介绍了基于HTML5实现多张图片上传功能,在单张图片上传的基础上实现多张图片上传功能,感兴趣的小伙伴们可以参考一下

图片上传之前也有写过,不过是单张上传的,最近有个业务需求是需要多张上传的,于是乎从新改写了一下

HTML结构:


XML/HTML Code复制内容到剪贴板

1

2

3

4

<p class="container"

    <label>请选择一个图像文件:</label

    <input type="file" id="file_input" multiple/> 

</p>

顺便说下这个上传的主要逻辑:

?用input标签并选择type=file,记得带上multiple,不然就只能单选图片了

?绑定好input的change时间,

?重点就是如何处理这个change事件了,使用H5新的FileReader接口读取文件并打成base64编码,之后的事就是与后端同学交互着玩啦

JS代码:


JavaScript Code复制内容到剪贴板

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

window.onload = function(){  

        var input = document.getElementById("file_input");  

        var result,p;  

     

        if(typeof FileReader==='undefined'){  

            result.innerHTML = "抱歉,你的浏览器不支持 FileReader";  

            input.setAttribute('disabled','disabled');  

        }else{  

            input.addEventListener('change',readFile,false);  

        }<br>     //handler  

        function readFile(){  

            for(var i=0;i<this.files.length;i++){  

                if (!input['value'].match(/.jpg|.gif|.png|.bmp/i)){  //判断上传文件格式  

                    return alert("上传的图片格式不正确,请重新选择")<br>          }  

                var reader = new FileReader();  

                reader.readAsDataURL(this.files[i]);  

                reader.onload = function(e){  

                    result = '<p id="result"><img src="'+this.result+'" alt=""/></p>';  

                    p = document.createElement('p');  

                    p.innerHTML = result;  

                    document.getElementById('body').appendChild(p);    //插入dom树                      <br>          }  

            }  

        }  

    }

上传多张图片难道就这样实现了吗0.0

阅读剩余部分

相关阅读 >>

HTML5触摸事件实现移动端简易进度条的实现方法

HTML5中如何使用rel属性的预加载功能?

介绍下HTML5.1里的新内容

浅谈HTML5和html4之间的不同

HTML5动画中关于等待加载动画的实例分享

h5里js和servlet实现文件上传的实现步骤

详解HTML5幻灯片系统--h5slides

HTML5视频音频实现步骤

移动端h5中百度地图的click事件的介绍(代码示例)

HTML5开发实例-threejs实现粒子动画飘花效果代码分享

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...