感谢这里的一些帮助,我有一种方法可以预览选择的图像并使用以下方式上传:
<input type='file' name="files[]" onchange="readURL(this);" multiple />
<div id="previews"></div>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var container = $('#previews');
var image = $('<img>').attr('src', e.target.result).width(150);
image.appendTo(container);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
我想知道如何为输入中选择的每个文件循环此函数?我只是不知道在哪里使用像.each()
这样的东西修改
我正在尝试这个..但它错了某处,因为它显示了两个预览,但都是相同的图像?
function readURL(input) {
$.each(input.files,function(i) {
var reader = new FileReader();
reader.onload = function (e) {
var container = $('#previews');
var image = $('<img>').attr('src', e.target.result).width(150);
image.appendTo(container);
};
reader.readAsDataURL(input.files[0]);
});
}
答案 0 :(得分:2)
input.files
是FileList
,其作用类似于数组
您可以像使用任何其他阵列一样使用jQuery.each
。
答案 1 :(得分:0)
您只需要遍历选择文件的最后一行。
function readURL(input) {
var reader = new FileReader();
reader.onload = function (e) {
var container = $('#previews');
var image = $('<img>').attr('src', e.target.result).width(150);
image.appendTo(container);
};
$.each(input.files,function(i) {
reader.readAsDataURL(input.files[i]);
});
}