【问题标题】:How to upload List of images on azure and retrieve addresses of uploaded images如何在 azure 上上传图片列表并检索上传图片的地址
【发布时间】:2016-06-30 23:34:33
【问题描述】:

我正在做 Mvc asp.net 项目。我想在 azure blob 存储上上传四张图片,我使用以下方法一次上传一张图片

     public static string UploadToBlob(string fileName, byte[] data)
     {
        MemoryStream file = new MemoryStream(data);
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
        CloudConfigurationManager.GetSetting("ConnectionSetting"));
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
        // Create the container if it doesn't already exist.
        container.CreateIfNotExists();
        CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
        blob.Properties.ContentType = "image/jpg";
        blob.UploadFromStream(file);
        string url = blob.Uri.ToString();
        return url;
    }

它需要四次调用天蓝色服务器,所以我想在一次调用中完成,即在天蓝色上上传四个图像的列表并检索上传图像的地址。

【问题讨论】:

    标签: c# asp.net-mvc azure parallel-processing azure-blob-storage


    【解决方案1】:

    您需要进行单独的服务调用以上传单独的 blob。但是,您应该共享该方法中的大部分通用代码。即,上面的所有内容实际上都获得了 blob 引用。这将通过仅在容器上调用一次 CreateIfNotExists 来为您节省多次服务调用。

    【讨论】:

    • 是的,上面的代码给出了 Blob 参考,但是我想知道有没有什么方法可以为 Blob 列表提供参考。即像数组
    • 您知道容器中您想要获取其引用的 blob 的名称吗?
    • 是的,我知道 blob 的名称,实际上我有四张图片要上传,我一次上传一张图片,azure 存储为我提供了上传图片的 url,因此需要 4 次单独的调用。现在我想一次上传四张图片,即只需要一个电话。
    • 正如 Emily 提到的,您需要进行 4 次单独的调用。在一次调用 Azure 存储时,您一次只能上传 1 个文件。您可以做的是重构您的代码,以便您只执行一次创建容器的通用代码(再次如 Emily 所述)。
    • 好的。我明白了,谢谢 Emily 和 Gaurav
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 2016-03-10
    • 2011-10-17
    • 1970-01-01
    相关资源
    最近更新 更多