gpt4 book ai didi

javascript - 多个文件上传并使用文件阅读器预览

转载 作者:行者123 更新时间:2023-12-03 21:50:01 26 4
gpt4 key购买 nike

<input type='file' name="image"  onchange="preview(this);" multiple="multiple" />


window.preview = function (input){
if(input.files && input.files[0]) {

var reader = new FileReader();

reader.readAsDataURL(input.files[0]);
reader.onload = function(e){

$("#previewImg").append("<img src='" + e.target.result +"'>");


}
}
}

我有一个使用文件阅读器预览图像的功能,它在单个文件中运行良好。

但是我尝试实现多个文件。

我的问题是如何获取输入文件数组,通过文件读取器循环文件并附加 img

最佳答案

Javascript解决方案 Fiddle DEMO

 <input id="files" type="file" multiple="multiple" />
<output id="result" />

纯 JavaScript:

function handleFileSelect(event) {
//Check File API support
if (window.File && window.FileList && window.FileReader) {

var files = event.target.files; //FileList object
var output = document.getElementById("result");

for (var i = 0; i < files.length; i++) {
var file = files[i];
//Only pics
if (!file.type.match('image')) continue;

var picReader = new FileReader();
picReader.addEventListener("load", function (event) {
var picFile = event.target;
var div = document.createElement("div");
div.innerHTML = "<img class='thumbnail' src='" + picFile.result + "'" + "title='" + file.name + "'/>";
output.insertBefore(div, null);
});
//Read the image
picReader.readAsDataURL(file);
}
} else {
console.log("Your browser does not support File API");
}
}

document.getElementById('files').addEventListener('change', handleFileSelect, false);
<小时/>

jQuery 解决方案

jQuery File Input Image Preview Before It Is Uploaded

<form id="form1" runat="server">
<input type='file' id="inputFile" />
<img id="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
</form>

jQuery:

function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#image_upload_preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}

$("#inputFile").change(function () {
readURL(this);
});

关于javascript - 多个文件上传并使用文件阅读器预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23402187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com