Cloudinary,新上传的图片替换了最后一张同名的图片?

Cloudinary, newly uploaded pictures replacing the last as have the same name?

我遇到问题,当我将文件上传到 cloudinary 时,它正在获取我在下面给出的文件名 'new';

const storage = new CloudinaryStorage({
    cloudinary: Cloudinary,
    params: {
      folder: 'linkedIn',
      format: async (req, file) => 'png', // supports promises as well
      public_id: (req, file) => `new`,
    },
  })

问题是它正在用最近上传的图片替换任何具有该名称的图片。

非常感谢任何帮助!

上传到 Cloudinary 的每个资产都以 Public ID 的形式被赋予一个唯一标识符。您将 'new' 用作所有上传的静态字段,这会导致它们被替换。考虑以下选项:

  1. 使用时间戳作为 public_id 或
  2. 不要在上传 API 调用中提供 Public ID,您将在响应中收到一个随机分配的 Public ID。

有关更多信息,请访问 cloudinary 文档:https://cloudinary.com/documentation/upload .

保罗,你有很多选择。

首先,您根本不需要指定 public_id,因为 Cloudinary 可以为您的图像自动分配一个,保证是唯一的。

话虽如此,如果您想对名称进行一些控制,您可以将 public_id 指定为与​​您正在上传的文件的名称相同(可能对SEO),此外,您还可以传入一个选项,该选项将在该文件名后附加一个随机生成的字符串,以保证唯一性:

cloudinary.v2.uploader.upload("sample_file.jpg", {
  use_filename: true, 
  unique_filename: false
},  

本培训课程(您可以免费访问)也涵盖了这一点:https://training.cloudinary.com/courses/cloudinary-fundamentals-for-developers

您可以在此处阅读更多相关信息:https://cloudinary.com/documentation/upload_images#public_id

ps:您使用的 npm 包是什么?