我正在尝试应对HTML5浪潮,但面临一个小问题。在HTML5之前,我们曾使用Flash检查文件大小,但现在的趋势是避免在Web应用程序中使用Flash。有什么方法可以使用HTML5在客户端检查文件大小?
我正在尝试应对HTML5浪潮,但面临一个小问题。在HTML5之前,我们曾使用Flash检查文件大小,但现在的趋势是避免在Web应用程序中使用Flash。有什么方法可以使用HTML5在客户端检查文件大小?
Answers:
这可行。将其放置在事件侦听器中,以了解何时输入发生更改。
if (typeof FileReader !== "undefined") {
var size = document.getElementById('myfile').files[0].size;
// check file size
}
接受的答案实际上是正确的,但是您需要将其绑定到事件侦听器,以便在更改文件输入时将其更新。
document.getElementById('fileInput').onchange = function(){
var filesize = document.getElementById('fileInput').files[0].size;
console.log(filesize);
}
如果您使用的是jQuery库,则以下代码可能会派上用场
$('#fileInput').on('change',function(){
if($(this).get(0).files.length > 0){ // only if a file is selected
var fileSize = $(this).get(0).files[0].size;
console.log(fileSize);
}
});
鉴于fileSize的转换取决于您选择哪种度量标准。
.files
:jsfiddle.net/edxvo4wa(我这个发现我自己,当我想出一个解决方案-如果你将其更改为它的工作原理document.getElementById
)。
HTML5 fie api支持检查文件大小。
阅读本文以获取有关文件api的更多信息
http://www.html5rocks.com/zh-CN/tutorials/file/dndfiles/
<input type="file" id="fileInput" />
var size = document.getElementById("fileInput").files[0].size;
同样,文件API给出名称和类型。
就个人而言,我会选择以下格式:
$('#inputFile').bind('change', function(e) {
var data = e.originalEvent.target.files[0];
// and then ...
console.log(data.size + "is my file's size");
// or something more useful ...
if(data.size < 500000) {
// what your < 500kb file will do
}
}