上传问题之前检测文件大小

时间:2013-12-26 22:28:34

标签: javascript jquery

以下是我在上传之前检测文件大小的代码,但某些浏览器不支持此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;
     }

2 个答案:

答案 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');

工作示例: http://jsfiddle.net/whiteb0x/nHBDp/