【问题标题】:Cloudinary Upload 'overwrite' option not working on Node.jsCloudinary 上传“覆盖”选项不适用于 Node.js
【发布时间】:2015-09-16 13:11:34
【问题描述】:

文档here 表示覆盖选项:

overwrite (Boolean) - 是否覆盖具有相同公共 ID 的现有资源。设置为 false 时,如果找到具有相同公共 ID 的资源,则立即返回。默认值:true。

当我将其设置为 false 时,文件仍会上传所有数据。这似乎是一个错误。

cld.uploader.upload(filePath, function(result) {
  if (result.error) {
    return done(result.error);
  }
  done();
}, {
  // Note these are the upload options.
  resourcetype: 'auto',
  publicid: publicId,
  overwrite: false,
});

【问题讨论】:

    标签: node.js cloudinary


    【解决方案1】:

    当使用overwrite: false 时,Cloudinary 会检查您的帐户中是否存在分配了与上传选项中分配的相同公共 ID 的图像,如果没有 - 上传新图像。否则,您会收到回复,看起来像是执行了上传,但是您从回复中实际获得的详细信息是已经(旧)上传的图像,而不是新的。此外,还返回了一个附加参数(existing),当它返回为true 时,这意味着没有进行上传。

    【讨论】:

    • 嗨 Itay,好的,这就是文档所说的,但在上面的代码中它对我不起作用。有什么建议吗?
    • 不是为你返回了existing参数吗?如果是这样,请联系 Cloudinary 的支持人员,并提供上传示例的详细信息和您的 cloud_name,我们很乐意深入了解我们的日志。
    • 嗨 Itay,好的,是的。我在输出中看到existing: true。客户端仍在传输文件。我从文档中得到的印象是客户端不会重新传输数据。就像 409 响应一样。 stackoverflow.com/questions/14250991/…
    • 嗨,Michael,其他选择是向目标资源发出 HEAD 请求并在继续之前期望 404,或者拥有自己的数据库并跟踪您使用的公共 ID。
    猜你喜欢
    • 2014-09-27
    • 2019-01-05
    • 1970-01-01
    • 2018-05-19
    • 2017-04-10
    • 2012-02-26
    • 2017-12-02
    • 2021-04-07
    • 1970-01-01
    相关资源
    最近更新 更多