2012-04-11 31 views
5

Tôi có trong biểu mẫu của tôi phần tử đầu vào có loại tệp. Những gì tôi muốn làm là để kiểm tra kích thước tập tin trước khi các yếu tố được tải lên cho vấn đề xác nhận. Bằng cách sử dụng phần lớn các trình duyệt web chính (ngoại trừ IE luôn làm mọi thứ khó khăn hơn), tôi đã biết rằng tất cả đều sử dụng "thuộc tính" được cập nhật bất cứ khi nào tôi chọn tệp mới và hiển thị kích thước tệp cũng như thông tin hữu ích khác.Cách truy cập thuộc tính tệp của phần tử tệp bằng JavaScript

Dưới đây là những gì tôi nhìn thấy trong trình duyệt web Chrome:

enter image description here

Câu hỏi đặt ra hiện nay là, làm thế nào tôi có thể truy cập giá trị đó với Javascript? Tôi đã thử nhiều cách, nhưng không có cách nào tốt cho tôi? Bất kỳ ý tưởng tốt xin vui lòng?

LƯU Ý: Trong trang web của tôi, tôi sử dụng jQuery, do đó, điều quan trọng không chỉ là JavaScript bình thường câu trả lời.

Kind coi Merianos Nikos

+4

thể dup http://stackoverflow.com/questions/1440723/find-file-size-with-jquery – elclanrs

Trả lời

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

Có cũng có thể nhận các thuộc tính như tác giả, tác giả của một tệp pdf theo cách tương tự? – toothie

0

hay:

$("#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); 
}); 
Các vấn đề liên quan