Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dropzone已签名直接上载到Cloudinary_Javascript_Dropzone.js_Cloudinary - Fatal编程技术网

Javascript Dropzone已签名直接上载到Cloudinary

Javascript Dropzone已签名直接上载到Cloudinary,javascript,dropzone.js,cloudinary,Javascript,Dropzone.js,Cloudinary,我希望能够使用DropZone上传到Cloudinary,而无需使用上传预设。有一个StackOverflow示例解释了如何使用上载预设执行此操作,该回答中使用的方法是向“发送”事件中可用的FormData对象添加Cloudinary必需的参数,这在我的用例中不起作用(使用签名上载) 要在不使用upload_预设的情况下进行上载,我需要在发送事件期间进行服务器API调用。这是必需的,因为上传签名是使用Cloudinary对图像上传支持的大多数参数以及时间戳生成的。因此,如果我想根据实际删除的文件

我希望能够使用DropZone上传到Cloudinary,而无需使用上传预设。有一个StackOverflow示例解释了如何使用上载预设执行此操作,该回答中使用的方法是向“发送”事件中可用的FormData对象添加Cloudinary必需的参数,这在我的用例中不起作用(使用签名上载)

要在不使用upload_预设的情况下进行上载,我需要在发送事件期间进行服务器API调用。这是必需的,因为上传签名是使用Cloudinary对图像上传支持的大多数参数以及时间戳生成的。因此,如果我想根据实际删除的文件设置任何Cloudinary上载选项,我需要在Dropzone事件处理工作流中的某个位置进行此API调用

理论上,我可以在我注册的函数中使用同步XMLHttpRequest来监听“发送”事件。这似乎不是最好的办法

Cloudinary Ajax upload小部件有一个uploadSignature参数,该参数接受带有回调的函数参数(有文档记录),因此所需的服务器API调用可以通过异步调用完成(假设我正确理解示例代码)。Dropzone是否有我在文档中遗漏的功能


任何其他建议的方法?

首先,您应该通过设置
autoProcessQueue:false
来初始化Dropzone,使其不会自动启动上载。然后使用
addedfile
事件发送Ajax调用,以便在服务器上生成签名。来自Ajax的回调应该将签名和时间戳注入上载参数(例如
myDropzone.options.params[signature]=signature
等),然后通过调用
myDropzone.processQueue()触发上载