h5多张图片上传,在移动端的解决方法?

最近项目里要做一个微信端的投票功能,里面涉及到多图上传,我想办法用FileReader做出来了,在pc端测试的时候正常运行,但是在微信端遇到了各种坑,求解答,下面是我的问题和代码
遇到的问题:
1、在安卓端的时候多选选不上
2、在ios端的时候多选选上了,但是会卡在错误提示那里,就是下面代码的“return alert("上传的图片格式不正确,请重新选择")”,

这是html代码

<div class="AddInpnt fl">
    <input type="file" class="File" id="file_input" multiple/>
</div>

这是js代码

    window.onload = function(){
        var input = document.getElementById("file_input");
        var result,div;
 
        if(typeof FileReader==='undefined'){
            result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
            input.setAttribute('disabled','disabled');
        }else{
            input.addEventListener('change',readFile,false);
        }    
        function readFile(){
            for(var i=0;i<this.files.length;i++){
                if (!input['value'].match(/.jpg|.gif|.png|.bmp/i)){ 
                    return alert("上传的图片格式不正确,请重新选择")
         }
                var reader = new FileReader();
                
                reader.readAsDataURL(this.files[i]);
                reader.onload = function(e){
                    result = '<div class="PicInput fl" id="PicInput"><img src="'+this.result+'"><span class="DelInput"></span></div>';
                    div = document.createElement('div');
                    div.innerHTML = result;
                    document.getElementById('PicUpload').appendChild(div);
           }
            }
        }
    }
阅读 18.9k
6 个回答

微信端可以使用微信的上传图片接口...

我们原来项目有用ajaxfileupload实现,在微信端应该是没问题的,如果是原生混合架构的话,部分机型比如小米是不支持的。

PS:我貌似看错题目了,是要同时多选图片,我以为是多次选择多张,题主忽略吧。

安卓是不支持多图选择的,这个坑以前踩过。

ios是可以的,安卓不行,目前无解

新手上路,请多包涵

if (!input['value'].match(/.jpg|.gif|.jpeg|.png|.bmp/i)){ 

IOS图片格式为JPEG。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题