代码之家  ›  专栏  ›  技术社区  ›  Matheus Miranda

如何向cloudinary发送多个图像?

c#
  •  0
  • Matheus Miranda  · 技术社区  · 6 年前

    遵循代码:

    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 .

    有什么解决办法吗?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Daniel Mendoza    6 年前

    当我测试它时,它按预期工作;但是,我会调整一些东西。首先,您不需要参数 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
  •  0
  •   Matheus Miranda    6 年前

    我找到了解决办法!

    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);
    }