我为我做了一个简单的文件字段:
<input type="file" name="pictures_array[]" multiple accept="image/*" id="page_pictures_array" />
和一些 HTML5 File API 代码来列出文件:
$('.page-form #page_pictures_array').change(function(evt) {
var file, files, reader, _i, _len;
files = evt.target.files;
console.log(files);
$('#file-list').empty();
for (_i = 0, _len = files.length; _i < _len; _i++) {
file = files[_i];
reader = new window.FileReader;
reader.onload = (function(file) {
return function(e) {
var src;
src = e.target.result;
return $("<li>" + file.name + " - " + file.size + " bytes</li>").prepend($('<img/>', {
src: src,
"class": 'thumb'
})).appendTo($('#file-list'));
};
})(file);
reader.readAsDataURL(file);
}
});
(参见此处)
但是,由于我希望我的用户确实非常愚蠢,我相信他们会选择一个文件,然后再次单击上传字段以选择下一个。但是,<input type="file">
每次使用新选择的图像都会重置列表。
如何确保将新文件附加到<input>
's 数组中,以免被愤怒的用户评论淹没?