配置Dropzone.js的问题

时间:2017-10-25 02:56:17

标签: javascript dropzone.js

我在使用表单设置dropzonejs时遇到问题。我目前有一个没有url属性的表单(表单已提交,文件通过我的控制器的索引函数处理)。我想要做的是选择客户端上的文件并通过php(使用codeigniter框架)处理处理。有人可以指出我做错了什么吗?即使添加了dropzone js / css文件,Dropzone也没有显示在我的页面上。

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1" class="form dropzone">
    <label>Select Your File(s) : </label><input name="filesToUpload[]" id="filesToUpload" type="file" multiple style="visibility: hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;"/><br />
    <input type="submit" name="Submit" value="Upload" class="btn btn-primary" />
</form>
<script>
    $(function() {
        Dropzone.autoDiscover = false;
       Dropzone.options.form1 = {
           paramName: 'filesToUpload',
           uploadMultiple: true
       }
    });
</script>

1 个答案:

答案 0 :(得分:0)

Check the docs,这很简单。

  1. 您没有指定url。 Dropzone将使用Dropzone表单的action归因,但您的表单没有action。您的选项也未指定url

  2. 除非您将其作为非Javascript浏览器的后备提供(并且您的代码没有这样做),否则不应包含文件输入。删除#filesToUpload输入。

  3. 文件会自动上传,因此您无需提交按钮即可将其删除。如果您确实要使用按钮,则需要停用autoProcessQueue,然后在点击按钮时手动processQueue()

  4. 我建议从一个非常基本的版本开始,然后在扩展和自定义之前使其正常工作。文档中显示了a simple example

    <form action="/file-upload"
      class="dropzone"
      id="my-awesome-dropzone"></form>
    

    那就是它。没有JS需要这个。将您的真实上传网址添加为action,并使其正常运行。完成后,如果它与您的需求完全匹配,请开始自定义,一次一件事。如果您遇到问题,请查看浏览器的开发工具栏,查看“网络”选项卡 - 您将能够看到Dropzone正在发布的请求,您可以查看正在发送的内容以及服务器响应。

    Read through the docs,他们真的很好,你需要的一切都在那里: - )