我在表单中有一个带文件类型的输入元素。我喜欢做的是在元素上传之前检查文件大小以确认问题。通过使用大多数主要的Web浏览器(IE总是做得更难),我发现所有人都使用了"属性"每当我选择一个新文件并显示文件大小时,它都会更新,以及其他有用的信息。
以下是我在Chrome网络浏览器中看到的内容:
现在的问题是,如何使用JavaScript访问该值?我尝试了几种方法,但没有一种方法对我有好处?有什么好主意吗?
注意:在我的网站上我使用jQuery,因此仅仅是常规JavaScript的答案并不重要。
亲切的问候 Merianos Nikos
答案 0 :(得分: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]);
答案 1 :(得分: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);
});