【发布时间】:2016-05-23 12:40:42
【问题描述】:
我在 Javascript/Jquery 方面非常缺乏经验,因此我使用 JavaScript Load Image plugin 来处理我的图像上传过程的前端。
问题:
我会喜欢上传多张图片,而不仅仅是一张,因此也想显示所有要上传为缩略图的图片。目前只有一张图片显示为缩略图。
The Fiddle:https://jsfiddle.net/r7s3n64b/1/(仅显示一张缩略图)
HTML (相关部分)
<!-- FILE INPUT -->
<p><input type="file" name="images[]" id="upload-post-images" multiple></p>
<!-- THUMBNAILS -->
<div id="result" class="result">
<p>This only works in browsers with support for the <a href="https://developer.mozilla.org/en/DOM/window.URL">URL</a> or <a href="https://developer.mozilla.org/en/DOM/FileReader">FileReader</a> API.</p>
</div><br>
我尝试循环浏览要上传的图片:
replaceResults = function (img) {
var content;
var imageFiles = document.getElementById("upload-post-images"),
filesLength = imageFiles.files.length;
// Loop through the FileList and render image files as thumbnails.
for (var i = 0; i < filesLength; i++) {
if (!(img.src || img instanceof HTMLCanvasElement)) {
content = $('<span>Die Bilddatei konnte nicht geladen werden.</span>');
} else {
content = $('<a target="_blank">').append(img)
.attr('download', currentFile.name)
.attr('href', img.src || img.toDataURL());
}
result.children().replaceWith(content);
if (img.getContext) {
actionsNode.show();
}
} // end for loop
},
我会非常感谢任何形式的帮助!
=== E D I T ===
在your fiddle 中,缩略图放置在结束表单标记之后:
</form>
<img src="blob:https%3A//fiddle.jshell.net/001bd1f5-1cce-4618-bc83-9c8bd24f9e90" width="200" height="150">
<img src="blob:https%3A//fiddle.jshell.net/001bd1f5-1cce-4618-bc83-9c8bd24f9e90" width="200" height="150">
在我的项目中(使用您的代码),缩略图放置在结果 div 中:
<div id="result" class="result">
<a target="_blank" download="image.jpg" href="data:image/png;base64,iVBO3sSxiFIz6LUNoB9b27d/p9/HzNSojY7M+FCmPOnGAsrVBWlKSGsSfG4GBNOzbIWtW38xtqwSLsTpzHF7/N4n7PwQgrIo5fh...></a>
<canvas width="265" height="354"></canvas>
</div>
你有没有机会碰巧知道为什么会这样或者我可以如何改变它?!
非常感谢您的大力帮助!
【问题讨论】:
标签: javascript jquery image thumbnails