如果值为>我想以MB为单位获取文件的大小如果< 1024或KB 1024
$(document).ready(function() {
$('input[type="file"]').change(function(event) {
var _size = this.files[0].size + 'mb';
alert(_size);
});
});
<input type="file">
答案 0 :(得分:15)
请在下面找到更新的代码。请参阅工作示例here,干杯!
$(document).ready(function() {
$('input[type="file"]').change(function(event) {
var _size = this.files[0].size;
var fSExt = new Array('Bytes', 'KB', 'MB', 'GB'),
i=0;while(_size>900){_size/=1024;i++;}
var exactSize = (Math.round(_size*100)/100)+' '+fSExt[i];
alert(exactSize);
});
});
答案 1 :(得分:1)
.size 返回的文件大小是1024的字节数是0.102MB。但无论如何:
$(document).ready(function() {
$('input[type="file"]').change(function(event) {
var totalBytes = this.files[0].size;
if(totalBytes < 1000000){
var _size = Math.floor(totalBytes/1000) + 'KB';
alert(_size);
}else{
var _size = Math.floor(totalBytes/1000000) + 'MB';
alert(_size);
}
});
});
请记住我写的不检查基本情况,这意味着如果文件小于1000字节,那么你将获得0KB(即使它是435bytes)。此外,如果您的文件大小为GB,那么它只会提醒2300MB。此外,我摆脱了小数,所以如果你想要2.3MB的东西,那么不要使用Floor。