【问题标题】:Dropzone signed direct upload to CloudinaryDropzone 签名直接上传到 Cloudinary
【发布时间】:2017-05-10 09:05:54
【问题描述】:

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

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

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

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

还有其他建议的方法吗?

【问题讨论】:

    标签: javascript dropzone.js cloudinary


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-12-19
      • 2014-01-19
      • 2019-05-25
      • 2016-11-28
      • 2014-10-21
      • 2015-11-01
      • 2020-12-20
      • 2017-08-30
      • 2013-08-04
      相关资源
      最近更新 更多