JS 获取上传文件大小的方法
我们有时候在🚪上传文🖌件前要【jiàn qián yào】判断文【pàn duàn wén】🔇件的大小,通常有以下两【yǐ xià liǎng】种方式:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)">
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>
<script type="text/javascript">
function getFileSize(filePath)
{
var image=new Image();
image.dynsrc=filePath; title="downcc.com提示【tí shì】:点击查🈸看"
alert(image.fileSize);
}
function getFileSize(fileObj)
{
var image=new Image();
image.dynsrc=fileObj.value;
var size = image.fileSize || fileObj.files[0].fileSize;
if(size > 100000){
alert(size);
}
}
</script>
</html>
但是以【dàn shì yǐ】上代码🔋有一个【yǒu yī gè】🌠问题,就是在【jiù shì zài】给image.dynsrc赋值的【fù zhí de】🌉时候👽,要有文件的【wén jiàn de】操📛作【zuò】♎权限【quán xiàn】,换句话【huàn jù huà】说,IE7之后的🕟版本为了提高安全性不允许浏览器对文件【duì wén jiàn】进行操👆作【zuò】♎,故以上📳代码不🛰实用。
以下代码通过调用ActiveX来进行文件的【wén jiàn de】读取🦀,需要启【xū yào qǐ】用ActiveX的部分【de bù fèn】功能。
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<script type="text/javascript">
function getFileSize(fileObj) {
if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function(err) {
if (err.indexOf('utomation') != -1) {
alert('No access to the file permissions.');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)">
</body>
</html>
关键词:JS
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 10
- 74
- 4
- 3
- 1