首页 > 解决方案 > 文件输入在 Instagram 应用内浏览器中停止工作(仅限 Android)

问题描述

input type="file" 最近在 Android Instagram 应用内浏览器中停止工作。它之前工作正常。它在 iOS 中仍然可以正常工作。我还在 Facebook 应用内浏览器中对其进行了测试,该浏览器在 Android 和 iOS 上也都能正常工作。

这是我的简单测试代码。

<!DOCTYPE html> 
<html>
<head>
    <title>File Validation</title>
</head>
<body>
    <p>
        <input type="file" id="file" onchange="checkFileSize()" />
    </p>
    <p id="size"></p>
</body>
<script>
    var checkFileSize = function() {
        var input = document.getElementById('file');

        if (input.files.length > 0) {
            for (var i = 0; i < input.files.length; i++) {
                var fsize = input.files[i].size;
                var file = Math.round((fsize / 1024));

                document.getElementById('size').innerHTML = '<b>' + file + '</b> KB';
            }
        }
    }
</script>
</html>

它只是在选择文件时打印文件大小。我还将 html 上传到我的 Amazon S3 以便于测试。这是页面链接 - https://virtueplanet.s3.amazonaws.com/testfile/index.html

如果您在 Instagram 应用内浏览器中打开链接并从手机中选择一个文件,则它始终将文件大小返回为零 (0)。我还尝试使用 Filereader 读取文件,但也失败了。

var input = document.getElementById('file');

if (input.files.length > 0) {
    for (var i = 0; i < input.files.length; i++) {
        var reader = new FileReader();

        reader.onload = function(e) {
            alert('Image loaded.');
        }

        reader.onerror = function() {
            alert(reader.error.message);
        }

        reader.readAsDataURL(input.files[i]);
    }
}

它似乎是最近针对 Android 的 Instagram 应用更新中的错误。任何帮助将不胜感激。

标签: javascriptandroidbrowserinstagramin-app

解决方案


推荐阅读