javascript - android 微信浏览器不能用H5 input上传吗?

查看:105
本文介绍了javascript - android 微信浏览器不能用H5 input上传吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

采用h5 input上传,在ios普通浏览器和微信浏览器都正常上传,但在android微信浏览器不行,非微信浏览器是正常可以的

报错信息如下:
weixin://preInjectJSBridge/fail

不过我觉得报错信息与上传功能没有关系

解决方案

android不管什么情况都会出现

weixin://preInjectJSBridge/fail

所以不是这个问题。
微信android是可以使用html5的xmlhttprequest+formdata上传文件的。

 document.querySelector('#file').addEventListener('change',function(e){
    var item = e.target.files[0];
    var data = new FormData;
                        data.append('file', item);
                        var xhr = new XMLHttpRequest();
                        xhr.open('POST', 'http://up.com', true);
                        //事件监听
                        xhr.onreadystatechange = function () {
                            if (xhr.readyState == 4 && xhr.status == 200) {
                                //上传完成了
                                alert(xhr.responseText);
                            }
                        };
                        xhr.onerror = function (error) {
                            throw new Error(error);
                        };
                        xhr.upload && (xhr.upload.onprogress = function (e) {
                           console.log(parseInt((e.loaded / e.total) * 100))
                        });
                        xhr.send(data);
},false);

这篇关于javascript - android 微信浏览器不能用H5 input上传吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆