以下是我在上传之前检测文件大小的代码,但某些浏览器不支持此document.getElementById('file').files[0]
属性。我想做的就是如果检测到浏览器不支持此属性,则用户会收到no
其他yes
的警报。请告诉我怎么做?
var filename = document.getElementById('file').files[0];
if (typeof filename === 'undefined' || filename === false)
{
alert('no');
}
else if(filename && filename.size < 10240) { // 10485760 = 10 MB (this size is in bytes)
alert('yes');
$('#processing-modal').modal('show');
return false;
}
答案 0 :(得分:1)
你几乎得到了它。事先检查物业:
var element = document.getElementById('file');
if (typeof element.files !== "undefined") {
// and now your code
}
[edit]或按照建议here:
if (typeof FileReader !== "undefined") {
// your code here
}
答案 1 :(得分:1)
确实,IE不支持HTML5文件API(大惊喜吧?)
我们可以简单地检查输入的files属性 - 从而为我们提供了一个蹩脚的IE的解决方法。
if (!this.files) alert('message');