文件夹上传没有拖放

时间:2013-06-26 19:30:56

标签: javascript fine-uploader

如何在不使用拖放的情况下实现文件夹上传?我希望能够以与选择文件相同的方式选择文件夹。

此外,文件数和文件夹深度的上限是什么?

由于

1 个答案:

答案 0 :(得分:1)

这是可能的,但解决方案有点尴尬,这就是Fine Uploader本身不支持这一点的原因。文件输入元素可以允许您选择文件夹或文件,而不是同时选择。因此,如果您希望用户选择,您需要提供专门用于选择文件夹的单独文件输入,或者维护一个文件输入元素,一旦用户的意图已知,就会即时修改。

Fine Uploader可能会支持将来通过选择器对话框选择文件夹作为case #819的一部分。同时,如果要提供允许用户通过选择器对话框选择文件夹的功能,则需要专门为文件夹提供备用文件输入元素,然后通过文件夹将选定文件发送到Fine Uploader Fine Uploader的addFiles API方法。

以下是一个例子:

<input type="file" id="directoryFileInput" webkitdirectory>
<div id="myFineUploaderContainer"></div>

$('#myFineUploaderContainer').fineUploader({
    request: {
        endpoint: 'my/endpoint'
    }
});

$('#directoryFileInput').change(function() {
    var fileList = this.files;

    $('#myFineUploaderContainer').fineUploader('addFiles', fileList);
});

当然,您可能还希望设置此特定文件输入的样式。一旦Fine Uploader案例#819完成,您将能够要求Fine Uploader为您设置样式并跟踪任何其他文件输入。在此之前,如果这对您很重要,您将需要使任何其他文件输入元素不透明并将其包装在样式div中。