文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。

不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。

源代码如下:

限制:

<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test"  height="18"/>
   
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");
   
function changeSrc(filePicker)
{
    oFileChecker.src = filePicker.value;
}
   
oFileChecker.onreadystatechange = function ()
{
    if (oFileChecker.readyState == "complete")
    {
        checkSize();
    }
}
   
function checkSize()
{
    var limit  = document.getElementById("fileSizeLimit").value * 1024;
   
    if (oFileChecker.fileSize > limit)
    {
        alert("too large");
    }
    else
    {
        alert("ok");
    }
}
</script> 

————————————————————————————————————
来自:UGIA.CN

标签: none

评论已关闭