2014-10-20 73 views
6

所以,我有我的执行本教程在这里:http://www.dropzonejs.com/bootstrap.html添加更多的数据Dropzone.js发布

这是伟大的工作,而我上传的文件就好了。我现在想要做的是能够在Dropzone上载图像时发送用户ID以及POST数据中的图像。我确实找到了enyo的教程here,它解释了如何将隐藏表单数据添加到dropzone,但使用dropzone提供的引导教程,没有表单,因此不能发送隐藏的发布数据。

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

回答

18

这已经有一段时间,因为你问这个问题,但基于悬浮窗网站提示

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

你应该能够做的3两件事 -

1.如果有一个表单添加隐藏的参数。

2.您可以使用PARAMS像这样 -

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); 

}); 
+2

我可以确认,'params:{foo:“bar”}'正在工作 – Djomla 2016-05-11 08:27:23

+0

如果我使用动态值..它不会使用''params:{foo:dynamicValue}'' – Kasnady 2017-05-11 15:37:06

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字段和一些fancier功能,但id与图片数据一起发布。

+1

这不适合我。它仍然可行吗? – user2570937 2015-10-06 23:54:35

2

我知道这是一个很老的帖子但是我试图让SolarBear的工作起作用,并且在向像这样的隐藏输入中添加参数“value”时它对我有用;

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

感谢您的帮助!