【问题标题】:Multiple File Upload To Display File Names Only多个文件上传仅显示文件名
【发布时间】:2018-10-31 21:21:56
【问题描述】:

我需要获得JSFIDDLE DEMO 以保持上传多个文件的能力,但我只需要显示多个文件名而不是显示预览。

这是用于上传文件的 JSFIDDLE JS:

$(document).ready(function() {
   if (window.File && window.FileList && 
window.FileReader) {
    $("#files").on("change", function(e) {
      var files = e.target.files,
        filesLength = files.length;
      for (var i = 0; i < filesLength; i++) {
        var f = files[i]
        var fileReader = new FileReader();
        fileReader.onload = (function(e) {
          var file = e.target;
          $("<span class=\"pip\">" +
            "<img class=\"imageThumb\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
            "<br/><span class=\"remove\"><i class='fa fa-times'></i></span>" +
            "</span>").insertAfter("#files");
          $(".remove").click(function() {
            $(this).parent(".pip").remove();
          });
        });
        fileReader.readAsDataURL(f);
      }
    });
  } else {
    alert("Your browser doesn't support to File 
API")
  }
});

此外,我只需要能够上传以下文件类型:.jpg、.png、.pdf、.xlsx 和 .docx。

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery jquery-ui file-upload twitter-bootstrap-3


    【解决方案1】:
    1. 如果您只想显示文件名,则不需要使用 img 标签。您可以按以下方式更改代码。

        if (window.File && window.FileList && window.FileReader) {
                        $("#files").on("change", function (e) {
                            var files = e.target.files,
                                filesLength = files.length;
                            for (var i = 0; i < filesLength; i++) {
                                var f = files[i];
                                $("<span class=\"pip\">" +
                                        "<br/><span class=\"remove\"><i class='fa fa-times'></i>"+ f.name + "</span>" +
                                        "</span>").insertAfter("#files");
                                    $(".remove").click(function () {
                                        $(this).parent(".pip").remove();
                                    });
                            }
                        });
                    } else {
                        alert("Your browser doesn't support to File API")
                    }
    1. 对于第二个问题,您可以将 html 中接受的类型定义为

    <div class="file-loading">
                                            <input type="file" id="files" name="files[]" multiple accept=".jpg,.png,.pdf,.xlsx,.docx"/>
                                        </div>

    【讨论】:

    • 感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2015-10-21
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2012-04-27
    相关资源
    最近更新 更多