javascript - 文件输入在 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 应用更新中的错误。任何帮助将不胜感激。
解决方案
推荐阅读
- python - 当文件在本地存储中时,如何使用 boto3 将文件上传到 s3
- google-cloud-storage - 为 SSL 设置 Google 存储桶
- c++ - Boost C++如何输出没有指数字符的浮点值的所有数字?
- c# - OOP 中的表达类型组合
- c++ - 在 C++ 中使用 openssl 以编程方式生成 CA 证书
- json - 如何在 Dart 中创建特定类型的嵌套 JSON 数据?
- report - Odoo 10 自定义 Qweb 报告:渲染编译 AST TypeError 时出错:“NoneType”对象不可调用
- asp.net - 我们真的需要在 ASP.Net MVC 中添加和编辑不同的视图吗?
- json - 无法将类型“()”的值转换为预期的参数类型“数据”
- ios - 动画 SceneKit SCNNode 位置不起作用