如何用javascript判断即将上传的图片大小
在文件上传中一个十分令人烦恼的问题就是如何用javascript获取图片大小,对于BS结构的网站怎样才能在不使用第三方控件的前提下告知用户上传的图片大小是否合适?
首先说第一想法:
在IE下利用内置控件”Scripting.FileSystemObject”,可惜大部分情况下这个操作是不被允许的。因此还是放弃吧。
第二个方法:
利用IMG标签,在IMG标签中有一个属性也是我们很少用到的一个属性:dynsrc
用法是:可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、 Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径
另外要用到的一个属性是fileSize
下面看一下具体的代码:
<html>
<head>
<script type=“text/javascript“>
function getFileSize(filePath)
{
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
</head>
<body>
<input type=“file“ name=“file“ onchange=“getFileSize(this.value)“ />
</body>
</html>
<head>
<script type=“text/javascript“>
function getFileSize(filePath)
{
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
</head>
<body>
<input type=“file“ name=“file“ onchange=“getFileSize(this.value)“ />
</body>
</html>
执行之后可能还有一点点失望。。 ie6正常,ie7+待测。。那就是FF不支持IMG的fileSize属性 - -
美中不足吧,能照顾一部分用户的体验总好过没有吧。