微信浏览器部分手机<input无法插入图片
发布于 5 年前 作者 xiama 10932 次浏览 来自 问答

https://www.cwhdsh.com/front/aboutUser/jump/?id=10951&url=/writeOpinion/ 12号后有用户反馈无法插入图片~机型是华为mate20 pro、华为荣耀V9,测试了一下,发现选择图片后回调为空。

微信浏览器

<form method="post" enctype="multipart/form-data" id="file_upload">
    <p>图片预览:</p>
    <div id="test-image-preview"></div>
    <p>
      <input type="file" id="test-image-file" name="test" accept="image/gif, image/jpeg, image/png, image/jpg">
    </p>
  <p id="test-file-info"></p>

</form>



        fileInput = document.getElementById('test-image-file'),
       info = document.getElementById('test-file-info'),
       preview = document.getElementById('test-image-preview');
        // 监听change事件:
        fileInput.addEventListener('change', function() {
// 清除背景图片:
            preview.style.backgroundImage = '';
            // 检查文件是否选择:
            if(!fileInput.value) {
info.innerHTML = '没有选择文件';
                return;
            }
// 获取File引用:
            var file = fileInput.files[0];
            //判断文件大小
            var size = file.size;
            if(size >= 1*1024*1024){
alert('文件大于1兆不行!');
                return false;
            }
// 获取File信息:
            info.innerHTML = '文件: ' + file.name + '<br>' +
'大小: ' + file.size + '<br>' +
'修改: ' + file.lastModifiedDate;
            if(file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') {
alert('不是有效的图片文件!');
                return;

                // 读取文件:
                var reader = new FileReader();
                reader.onload = function (e) {
var data = e.target.result; // 'data:image/jpeg;base64,/9j/4AAQSk...(base64编码)...}'
                    preview.style.backgroundImage = 'url(' + data + ')';
                };
                // DataURL的形式读取文件:
                reader.readAsDataURL(file);
                console.log(file);
              }
})

用这个测试的时候。fileInput.value都是空的,显示“没有选择文件”

回到顶部