我用这个代码检查文件类型上传前如何检查文件大小在JavaScript
// - coursesweb.net
// get the file name and split it to separe the extension
var name = el.value;
var ar_name = name.split('.');
,但现在我想使用这个代码来获得文件的大小,我该怎么办?
我用这个代码检查文件类型上传前如何检查文件大小在JavaScript
// - coursesweb.net
// get the file name and split it to separe the extension
var name = el.value;
var ar_name = name.split('.');
,但现在我想使用这个代码来获得文件的大小,我该怎么办?
如果浏览器支持File API。
if (typeof FileReader !== "undefined") {
var size = document.getElementById('file_input_field_id').files[0].size;
} else {
console.log("File API is not supported");
var size = -1;
}
如果您想在客户端无文件API获取文件大小,需要使用flash。您可以使用像FileAPI.js这样的库
的浏览器不支持的文件API。 – user2979339
您可以像这样检查文件大小。
比方说你的HTML是:
<input type="file" id="file" />
var size = document.getElementById('file').files[0].size;
可以给我举个例子,谢谢^ _^ – user2979339
@ user2979339这是一个例子!你的输入字段有一个id文件,var size获取大小! –
You can check the filesize by files[0].size
尝试以下操作:
$('#myFile').bind('change', function() { //this.files[0].size gets the size of your file. alert(this.files[0].size); });
+1 upvoted,因为这是一个合法的答案,downvote没有评论是不可接受的 – hammus
试试这个让文件大小
document.getElementById('fileid').addEventListener('change', checkFile, false);
function checkFile(e) {
var file_list = e.target.files;
for (var i = 0, file; file = file_list[i]; i++) {
var fileExtension = file.name.split('.')[file.name.split('.').length - 1].toLowerCase();
var iConvert = (file.size/1024).toFixed(2);
txt = "File type : " +fileExtension + "\n";
if(file.size > (1024 * 1024)){
txt += "Size: " + (file.size/(1024*1024)).toFixed(2) + " MB \n";
} else {
txt += "Size: " + (file.size/1024).toFixed(2) + " KB \n";
}
alert(txt);
}
}
这是兼容旧版浏览器? – DannyG
我没有尝试使用旧版浏览器,但我认为它可以在旧版浏览器中正常工作。 –
http://stackoverflow.com/questions/3717793/javascript-file-upload-size-validation – hammus