向Dropzone.js帖子添加更多数据

时间:2014-10-20 18:58:02

标签: javascript twitter-bootstrap dropzone.js

所以我在这里实现了本教程:http://www.dropzonejs.com/bootstrap.html

它工作得很好,我上传文件就好了。我想要做的是当Dropzone上传图像时能够在POST数据中发送用户ID和图像。我确实找到了enyo的教程here,它解释了如何将隐藏的表单数据添加到dropzone,但是使用bootstrap教程dropzone提供的,没有表单,因此不能发送隐藏的帖子数据。

如何使用上面链接的bootstrap教程中的代码,但仍然将隐藏的输入数据发送到上传脚本?我是否必须以某种方式将提供的代码转换为表单,如果是这样,我该怎么做?

3 个答案:

答案 0 :(得分:27)

自从你提出这个问题以来已经有一段时间了但是基于dropzone网站的提示

http://www.dropzonejs.com/#tips

你应该可以做三件事之一 -

<强> 1。如果有表格添加隐藏的参数。

<强> 2。你可以使用这样的参数 -

new Dropzone({
    url: "/",
    params: {
         foo: "bar"
    }
});

第3。像这样处理发送事件 -

myDropzone.on("sending", function(file, xhr, formData) { 

// Will sendthe filesize along with the file as POST data.

 formData.append("filesize", file.size);  

});

答案 1 :(得分:3)

我发现你提供的教程有点令人困惑,因为确实没有涉及的形式。只需使用class="dropzone"创建一个表单并添加隐藏的输入。它仅显示已删除文件的默认模板和一些用于基本事件处理的JS代码。我建议您查看the main Dropzone page示例。

例如,在我们的代码中,它看起来有点像(编辑了一点):

<form action="myAction"
      class="dropzone"
      id="dropzoneId"
      name="pictures">
    <input type="hidden" name="id">
</form>

而且,真的,那就是它。我们有一些Javascript代码来处理隐藏的id字段和一些更高级的功能,但id会随图片数据一起发布。

答案 2 :(得分:2)

我知道这是一篇非常古老的帖子,但我试图让SolarBear的答案起作用,当我添加参数&#34; value&#34;这样的隐藏输入;

<form action="/action.php" class="dropzone">
<input type="hidden" name="additionaldata" value="valueToPass" />
</form>

感谢您的帮助!