首页 文章

Dropzone签名直接上传到Cloudinary

提问于
浏览
0

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

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

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

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

其他任何建议的方法?

1 回答

  • 0

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

相关问题