2012-04-11 19 views
5

私は自分のフォームにファイルの種類を持つ入力要素を持っています。私がしたいのは、検証問題のために要素がアップロードされる前にファイルサイズを確認することです。大部分のプライマリWebブラウザ(IEを除く)は、新しいファイルを選択してファイルサイズやその他の有用な情報を表示するたびに更新される「属性」を使用していることがわかりました。ここでJavaScriptを使用してファイル要素のファイル属性にアクセスする方法

は私がChromeウェブブラウザで見るものです:

enter image description here

質問今私はJavaScriptでその値にアクセスする方法、ありますか?私はいくつかの方法を試してみましたが、どれも私には良いことがありませんでしたいいアイデアをお願いしますか?

注:私のウェブサイトではjQueryを使用しているので、通常のJavaScriptだけであることは重要ではありません。

種類が Merianosニコス

+4

可能なDUP http://stackoverflow.com/questions/1440723/find-file-size-with-jquery – elclanrs

答えて

3
//use any ol' selector to get the <input /> element: 
var inputElement = document.querySelector("input[type='file']"); 

//then it's just like you'd access any object's attributes: 
var fileSize = inputElement.files[0].size; 
//note that it's a list of files, so you can loop through them 
//in case the element accepts multiple files 

//if you want all of the attributes, do something like: 
for (var key in inputElement.files[0]) 
    if (inputElement.files[0].hasOwnProperty(key)) 
     console.log(key,inputElement.files[0][key]); 
+0

がそれです作成者、PDFファイルの作成者などの属性を同様の方法で取得することも可能ですか? – toothie

0

かについて:

$("#btStartUpload").on("click", function(evt) {   

    var filesSelected = document.getElementById('btInput').files; // FileList object 
    // var filesSelected = $('#btInput')[0].files; // with jQuery, any jQuery object have it's DOM element accessed using [0] 
    // var filesSelected = $('input[type=file]')[0].files; 
    console.log(filesSelected); 
}); 
関連する問題