文件数组与javascript中的文件输入绑定

时间:2017-02-24 19:10:09

标签: javascript jquery arrays file-io filelist

我有多个文件上传HTML文件输入

<input type="file" id="uploadFile" name="FileUpload" multiple="multiple" />

如果附加文件的大小超过5mb我试图跳过它并仅附加相关文件,那么我必须从多个文件输入中专门删除文件,然后我发现它可以&# 39; t do it

并找到了这些答案

  1. Remove a FileList item from a multiple “input:file”
  2. How to remove one specific selected file from input file control
  3. 所以我尝试了以下

    1. 第1步:循环更改事件中的每个文件,
    2. 步骤2:过滤所需的验证将有效文件推送到单独的数组
    3. 步骤3:数组值与多个“input:file”
    4. 绑定

      从上面的方法,我首先尝试将所有文​​件附加到多个“input:file”中,并在验证后使用foreach循环将每个文件推送到数组,然后再将该文件数组绑定到多个“input:file”]

      步骤1和2已完成以下脚本

      <script type="text/javascript">
              $('#uploadFile').on('change', function() {
      
                  var attachedfiles = $('#uploadFile')[0].files;
                  var validatedFiles = [];
      
      
                  for (var i = 0; i < attachedfiles.length; i++) 
                  {                       
                     if (attachedfiles[i].size < 5242880) 
                     {                 
                       validatedFiles.push(attachedfiles[i]);
                     }
                     else 
                     {
                       alert("File size is more than 5MB");
                       event.preventDefault();
                       false;
                     }
                  }
      
                  console.log(validatedFiles);
                  console.log(attachedfiles);
              }); 
       </script>
      

      以上console.log(validatedFiles);console.log(attachedfiles);

      如果我附加1个无效文件和2个有效文件,我可以看到如下的视图

      enter image description here

      如何绑定这个已验证的文件&#39;数组到上面&#39; uploadFile&#39;文件输入

0 个答案:

没有答案