使用jquery预览图像,然后再上传

时间:2017-10-18 18:08:11

标签: 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[]">

1 个答案:

答案 0 :(得分:1)

试试这个

&#13;
&#13;
<span>
&#13;
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);
      }

    });
  }
}
&#13;
&#13;
&#13;

相关问题