2012-04-04 79 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>'); 
});​