【问题标题】:javascript: I want remeber the FileList of user input into the input:filesjavascript: 我想记住用户输入的 FileList 到 input:files
【发布时间】:2012-10-05 05:01:20
【问题描述】:

我需要一个 input:file 来上传文件,但用户多次添加了文件。最后我需要上传用户选择的所有文件。

但我遇到了问题,为什么我尝试设置 FileList。 如何调整 Filelist 对象的大小并输入另一个新文件?

【问题讨论】:

    标签: javascript input file-io


    【解决方案1】:

    如果我正确理解您的问题,您希望通过单击多个否按钮来继续选择文件。次。

    为此,您可以执行以下操作:

    1. 为输入文件添加 onchange 事件
    2. 维护一个哈希表(简单地说,一个对象)来保存所有选定的 文件。
    3. 在 onchange 事件处理程序内部填充哈希表。 (注:视情况而定 根据您的要求,您可能希望更改为此创建“密钥”的方式 哈希表)。
    <input type="file" multiple="multiple" id="fname" onchange="pp()" />​
    
    <script type="text/javascript">
    var x={};
    function pp()
    {
        var k = document.getElementById("fname");
        for (var i = 0; i < k.files.length; i++){
          x[k.files[i].name]=k.files[i];
        }
        console.log(x);
    }
    </script>
    

    【讨论】:

    • 它没有用。我还需要将 Filelist 对象放回 input:file,因为我需要 input:file 值来更新文件形式。你如何在没有输入的情况下上传文件对象:文件对象?
    【解决方案2】:

    您也可以在当前文件的基础上创建另一个输入文件,当用户单击它时,另一个输入文件将打开,前一个文件将存储以前的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 2012-04-05
      相关资源
      最近更新 更多