Dropzone签名直接上传到Cloudinary

时间:2016-12-25 14:50:30

标签: javascript dropzone.js cloudinary

我希望能够在不使用upload_preset的情况下使用DropZone上传到Cloudinary。有一个StackOverflow示例解释了如何使用上传预设here,该答案中使用的方法是将Cloudinary必需参数添加到发送'中可用的FormData对象。事件,在我的用例中不起作用(使用已签名的上传)。

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

理论上,我可以在我注册的函数中使用同步XMLHttpRequest执行此操作,以收听'发送'事件。这似乎不是最好的方法。

Cloudinary Ajax上传小部件有一个uploadSignature参数,该参数接受带有回调的函数参数(记录为here),以便可以通过异步调用完成所需的服务器API调用(假设我正确理解了示例代码) )。在文档中我是否有任何与Dropzone相同的功能?

任何其他建议的方法?

1 个答案:

答案 0 :(得分:0)

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

来触发上传