2012-04-04 73 views
1

我想用我用这个javascript.The代码来检查用户所选择的文件的文件大小,在客户端是:文件大小通过JavaScript

<script type="text/javascript"> 
var myFile = document.getElementById('myfile'); 

    //binds to onchange event of the input field 
    myFile.addEventListener('change', function() { 
    //this.files[0].size gets the size of your file. 
    alert(this.files[0].size); 

    }); 
</script> 

但是,当我运行代码,选择一个文件,没有什么好玩的。 任何机构告诉我我做错了什么

回答

3

Your code works fine(在具有File API的HTML5浏览器中)。确保您的<script>区块是之后<input>元素。在那个jsfiddle中,它在“加载”处理程序中。

+0

或'window.onload = function {...}' – mplungjan 2012-04-04 13:53:05

+0

@mplungjan是的,我稍微更新了答案;我通过jsfiddle免费获得了“onload”:-) – Pointy 2012-04-04 13:53:44

0

您无法使用javascript获取文件大小。浏览器中的安全防止Javascript访问文件系统。你需要使用Flash或者ActiveX,或者可以授予我相信的权限。

编辑:如果您使用HTML5文件API,那么我想你可以做到这一点 - 但正如你没有表明,我不认为这是事实。我会将HTML作为标签贴到您的帖子上。

+4

他试图使用HTML 5文件API,我认为。 – Pointy 2012-04-04 13:47:51

0

作品我使用jquery为:

http://jsfiddle.net/UUdcy/

$('#myfile').change(function() { 
    var fileInput = $("#myfile")[0]; 
    var imgbytes = fileInput.files[0].fileSize; // Size returned in bytes. 
    $('body').append('<p>'+imgbytes+'</p>'); 
});​