首页 > 解决方案 > 由于“cloudinary.uploader 未定义”错误,从 cloudinary 中删除媒体文件失败

问题描述

我正在使用 express 和 node.js 开发一个 Web 应用程序。我正在使用 cloudinary 上传媒体文件。上传和访问媒体工作正常。但我无法从云端删除图像。这是我用来删除的代码:

for (let filename of req.body.deleteImages) {
    await cloudinary.uploader.destroy(filename);
}

我尝试控制台记录 cloudinary 对象,一切似乎都井井有条:

cloudinary: {
      config: [Function (anonymous)],
      utils: [Object],
      uploader: [Object],
      api: [Object],
      provisioning: [Object],
      PreloadedFile: [class PreloadedFile],
      Cache: [Object],
      url: [Function: url],
      image: [Function: image],
      video: [Function: video],
      source: [Function: source],
      picture: [Function: picture],
      cloudinary_js_config: [Function: cloudinary_js_config],
      CF_SHARED_CDN: 'd3jpl91pxevbkh.cloudfront.net',
      AKAMAI_SHARED_CDN: 'res.cloudinary.com',
      SHARED_CDN: 'res.cloudinary.com',
      BLANK: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
      search: [class Search]
    }

但是Cannot read property 'destroy' of undefined在调用该函数时出现错误。我尝试了控制台日志记录cloudinary.uploader,我得到了undefined. 提前致谢。

标签: javascriptnode.jsexpressmultercloudinary

解决方案


我解决了。问题是我在导入 cloudinary 模块时没有对其进行解构。所以我试图访问的云变量是整个模块,而不是我需要使用的导出对象。感谢您花时间阅读我的问题。


推荐阅读