我發現代碼在 internet.JavaScript的閱讀和預覽多個圖像
這裏讀取多個圖像的代碼是:
HTML
<input id="browse" type="file" onchange="previewFiles()" multiple>
的JavaScript
function previewFiles() {
var preview = document.querySelector('#preview');
var files = document.querySelector('input[type=file]').files;
function readAndPreview(file) {
// Make sure `file.name` matches our extensions criteria
if (/\.(jpe?g|png|gif)$/i.test(file.name)) {
var reader = new FileReader();
reader.addEventListener("load", function() {
var image = new Image();
image.height = 100;
image.title = file.name;
image.src = this.result;
preview.appendChild(image);
}, false);
reader.readAsDataURL(file);
}
}
if (files) {
[].forEach.call(files, readAndPreview);
}
}
我有一個問題,因爲我不完全理解發生了什麼,爲什麼它不預覽/好像它存儲多個文件。
這將不會工作,因爲文件包含一個文件列表的對象,而不是一個數組,並且不具有一個foreach()方法。 – K3N
['function.call'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call)用指定的'this' arg調用函數。在這種情況下,'Array.prototype.forEach'在'files'上運行 – Jake