论坛首页 Web前端技术论坛

获取文件大小都要这么麻烦,OTZ

浏览 10923 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (15)
作者 正文
   发表时间:2010-06-17   最后修改:2010-06-18
/**
 * 获取文件大小
 * @param file 文件
 * @return 文件大小
 */
function getFileSize(file) {
    if (file.fileSize < 0) {
        return setTimeout('retValue = checkFileSize(file)', 100);
    } else {
        return file.fileSize;
    }
}


一开始以为一句话就搞定,结果发现比较大的文件的fileSize会返回-1。
后来了解到是因为浏览器没加载完毕,就只有用setTimeout搞定了。
orz

<script type="javascript">
    function checkFileSize() {
        var file = new Image();
        file.src = document.getElementById("file");
        alert(getFileSize(file));
    }
</script>
<input type="file" id="file" onchange="checkFileSize();" />
   发表时间:2010-06-18  
而且这个还不兼容IE吧?
0 请登录后投票
   发表时间:2010-06-18  
我用的就是IE啊
0 请登录后投票
   发表时间:2010-06-18  
checkFileSize
哪里来的?

FSO?
0 请登录后投票
   发表时间:2010-06-18  
主要是本地上传,网络链接应该也没问题
0 请登录后投票
   发表时间:2010-06-18  
<script type="javascript">  
    function checkFileSize() {  
        var file = new Image();  
        file.src = document.getElementById("file");  
        alert(getFileSize(file));  
    }  
</script>  
<input type="file" id="file" onchange="checkFileSize();" />


可以这样写吗?file.src = 一个HTMLElement ?
楼主你是什么浏览器?
0 请登录后投票
   发表时间:2010-06-18  
ie only的,无视之
0 请登录后投票
   发表时间:2010-06-18  
只有IE才能这么做。
0 请登录后投票
   发表时间:2010-06-18  
cuixiping 写道
<script type="javascript">  
    function checkFileSize() {  
        var file = new Image();  
        file.src = document.getElementById("file");  
        alert(getFileSize(file));  
    }  
</script>  
<input type="file" id="file" onchange="checkFileSize();" />


可以这样写吗?file.src = 一个HTMLElement ?
楼主你是什么浏览器?

楼主手抖打漏了吧,哈
0 请登录后投票
   发表时间:2010-06-19  
楼主:你在IE7,IE8 试一下。一定是不兼容
在IE6下,如果文件不太,页面的反映还可以,如果比较大,那就慢下来了。
我现在只能:用activex控件了。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics