【问题标题】:How to send multiple images to cloudinary?如何将多个图像发送到云端?
【发布时间】:2019-08-09 07:51:42
【问题描述】:

关注代码:

string[] files 
      = System.IO.Directory.GetFiles(@"C:\Users\Matheus Miranda\Pictures", "*.jpg");

foreach (var file in files)
{
    var uploadParams = new ImageUploadParams()
    {
        File = new FileDescription(file),
        PublicId = "my_folder/images",
        EagerAsync = true
    };

    var uploadResult = cloudinary.Upload(uploadParams);
}

它不工作,它总是在记录以前的文件。

我正在尝试将多个图像保存到 cloudinary,但没有任何成功。

只保存一张图片。我使用库Cloudinary

有什么办法吗?

【问题讨论】:

  • it is always recording the previous file. 什么意思?
  • @mjwills 没有添加图片,只是覆盖了之前的图片。这就像一个更新。
  • 第一个文件的uploadResult.Url 的值是多少?第二个文件?
  • @mjwills 我找到了解决方案,我会尽快发布。

标签: c# cloudinary


【解决方案1】:

当我测试它时,它按预期工作;但是,我会调整一些事情。第一件事是您不需要参数eager_async,因为没有eager 转换应用于资产。急切的转换允许您在上传资产后异步创建原始的修改版本。其次,如果您希望查看上传响应,可以使用属性 JsonObj 并将其显示在控制台中。我在这里修改了您的示例:

string[] files
= System.IO.Directory.GetFiles(@"C:\Users\Matheus Miranda\Pictures", "*.jpg");

foreach (var file in files)
{
    var uploadParams = new ImageUploadParams()
    {
        File = new FileDescription(file),
        UseFilename = true
    };

    var uploadResult = cloudinary.Upload(uploadParams);
    Console.WriteLine(uploadResult.JsonObj);
}

【讨论】:

  • 丹尼尔谢谢。
【解决方案2】:

我找到了解决方案!

string[] files = 
    System.IO.Directory.GetFiles(@"C:\Users\Matheus Miranda\Pictures\teste", "*.jpg");

for (int i = 0; i < files.Length; i++)
{
    var uploadParams = new ImageUploadParams()
    {
        File = new FileDescription(files[i]),
        PublicId = $"my_folder/images/{System.IO.Path.GetFileName(files[i])}"
    };
    var uploadResult = cloudinary.Upload(uploadParams);
}

【讨论】:

    猜你喜欢
    • 2021-07-08
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多