可能重复:
How to get file size from clientside without using activex in javascript?
我在我的脚本中使用最大大小1 GB的图片上传,我需要在javascript中获取图像文件大小,所以我使用了以下脚本,
var file = document.getElementById('image').files[0];
if(file.size > 1048576){
alert('image size is too big to upload');
}
此脚本适用于除IE8,9以外的所有浏览器。建议我在IE中使用一些解决方案。
答案 0 :(得分:0)
尝试以下代码
var img = new Image();
img.src = sYourFilePath;
var iSize = img.fileSize;
了解更多
How to get file size from clientside without using activex in javascript?
答案 1 :(得分:0)
似乎无法找到供参考的链接,但ie8和ie8不支持html5文件api,这意味着你无法从那里获取文件大小。另一种方法是在服务器端进行此处理,如果大小超过限制则快速失败。
答案 2 :(得分:0)
从Here
考虑这个例子<html>
<head>
<script>
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
</script>
</head>
<body>
<form name="upload">
<input type="file" name="file">
<input type="button" value="Size?" onClick="getSize();">
</form>
</body>
</html>
但您需要在IE安全设置中允许ActiveX。
答案 3 :(得分:0)
<强>要求强> 要在客户端计算文件/图像大小,浏览器应支持HTML5文件API
<强>原因/详情强> 你不能在任何IE版本中获得IE 9.0的图像/文件大小,甚至IE 10.0中部分支持HTML文件API Check this
<强>研究强>
以下是使用以下代码
的调试信息IE vs Chromevar file = document.getElementById('image').files[0];
console.log(file);
<强>铬强> 铬 webkitRelativePath:“”, lastModifiedDate:Wed Feb 08 2012 12:57:57 GMT + 0500(巴基斯坦标准时间), 名称:“1.jpg”, 输入:“image / jpeg”, 大小:715285 ...... }
IE 9.0 SCRIPT5007:无法获取属性'0'的值:object为null或undefined