首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript选择一个文件上传文件夹

问Javascript选择一个文件上传文件夹
EN

Stack Overflow用户
提问于 2018-06-05 14:11:12
回答 3查看 6.6K关注 0票数 1

我使用dropzone.js上传多个文件。使用它,我可以从一个文件夹中选择多个文件,在选择多个文件时,我只能从我的列表中选择一组文件。

相反,我需要选择一个文件夹(目录)

我可以拖放文件夹。单击dz-clickable时应该执行的相同功能。

我的Html代码

代码语言:javascript
复制
<div class="dropzone dz-clickable" id="myDrop">
    <div class="dz-default dz-message" data-dz-message="">
        <span>Upload or drag your files here</span>
    </div>
</div>

我的Javascript代码

代码语言:javascript
复制
var myDropzone = new Dropzone("div#myDrop", {
addRemoveLinks: true,
autoProcessQueue: false,
parallelUploads: maxParallelCount,
url: "#",
transformFile: function transformFile(file, done) {
  zip = new JSZip();
  zip.file(file.name, file);
  zip.generateAsync(
    {
      type:"blob",
      compression: "DEFLATE"
    }
  ).then(function(content) {
    done(content);
  });
},
init: function() {
    this.on("addedfile", function(file) {
        if (jQuery.inArray(file.name, addedfiles) > -1) {
            myDropzone.removeFile(file);
        }
        if (jQuery.inArray(file.name, DOC_NAMES) == -1) {
            myDropzone.removeFile(file);
        }
        else {
            addedfiles.push(file.name);
            queueCount += 1;
        }
    });
    this.on("removedfile", function(file) {
        console.log(file.name);
        if (jQuery.inArray(file.name, addedfiles) > -1) {
            // addedfiles.pop(file.name);
            var indOfAddedFiles = addedfiles.indexOf(file.name);
            console.log("indOfAddedFiles -> "+ indOfAddedFiles);
            addedfiles.splice(indOfAddedFiles, 1);
            queueCount -= 1;
        }
    })
}

如何选择目录并进行相应的处理?有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-11 13:54:35

让我回答我的问题

通过在webkitdirectory中将属性true设置为true,可以选择文件夹。

与type属性一起添加以下内容

代码语言:javascript
复制
_this3.hiddenFileInput = document.createElement("input");
_this3.hiddenFileInput.setAttribute("type", "file");
_this3.hiddenFileInput.setAttribute("webkitdirectory", true);
票数 3
EN

Stack Overflow用户

发布于 2019-09-25 16:52:52

只是为了通过@Sri为解决方案提供上下文

代码语言:javascript
复制
$("div#dropzoneDiv").dropzone({
            url: '/upload',
            init: function() {
                this.hiddenFileInput.setAttribute("webkitdirectory", true);
            }
        });
票数 3
EN

Stack Overflow用户

发布于 2018-06-05 15:02:31

我认为Dropzone.js不允许上传整个目录(或者在文档中没有指定)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50702278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档