javascript - 在上传之前使用 jquery 预览图像

标签 javascript jquery image file-upload image-uploading

当我使用下面的输入仅上传 1 张图片时,我可以使用 jquery 代码预览它。

<input type="file" id="uploadImage" onchange="Preview_Image_Before_Upload('uploadImage', 'uploadPreview');" name="termek_file" class="file_input"/><img id="uploadPreview" class="uploadPreview" width="200" />

function Preview_Image_Before_Upload(fileinput_id, preview_id) 
{
    var oFReader = new FileReader();
    oFReader.readAsDataURL(document.getElementById(fileinput_id).files[0]);
    oFReader.onload = function (oFREvent) 
    {
        if ( window.FileReader && window.File && window.FileList && window.Blob )
        {
            document.getElementById(preview_id).src = oFREvent.target.result;
        }
    };
};

如何让此预览代码与多张图片上传一起使用?

<input type="file" multiple name="gallery[]">

最佳答案

试试这个

window.onload = function() {
  if (window.File && window.FileList && window.FileReader) {
    var filesInput = document.getElementById("uploadImage");
    filesInput.addEventListener("change", function(event) {
      var files = event.target.files;
      var output = document.getElementById("result");
      for (var i = 0; i < files.length; i++) {
        var file = files[i];
        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='" + picFile.name + "'/>";
          output.insertBefore(div, null);
        });        
        picReader.readAsDataURL(file);
      }

    });
  }
}
<input type="file" id="uploadImage" name="termek_file" class="file_input" multiple/>
<div id="result" class="uploadPreview">

关于javascript - 在上传之前使用 jquery 预览图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46816541/

相关文章:

javascript - 为什么结果与我的预期不同?

javascript - 如何使用 JavaScript 显示 4 位数字 (0000,0001)

javascript - 如何在单击复选框后获取最接近的文本字段的值 - JQuery

python - pygame.error : SavePNG: could not open for writing?

html - 在 html img 标签中显示 Instagram 照片

javascript - addEventListener 和 `this` 未按预期工作

javascript - 如何确定 jQuery 表单插件中的事件提交按钮?

javascript - 当增加十的幂(1000、10000、100000 等)时,Jquery 绑定(bind)数字输入不起作用

javascript - 使用javascript将一张透明图像叠加在另一张透明图像上

javascript - 在没有 jQuery 的情况下切换表列的可见性