Asp.net mvc 4 Azure blob-无法在MVC 4中的blob容器中显示图像存储

Asp.net mvc 4 Azure blob-无法在MVC 4中的blob容器中显示图像存储,asp.net-mvc-4,azure,azure-storage,azure-storage-blobs,Asp.net Mvc 4,Azure,Azure Storage,Azure Storage Blobs,问题背景: 我有一个基本的MVC4站点,正在尝试显示一张图片,该图片存储在我的Azure云帐户的blob存储容器中。我将图像Uri的列表存储在字符串list中,并将它们传递到一个视图中,它们应该显示在那里 问题: 我似乎无法获取存储在容器中的图像的文件名。 下图显示Azure中的容器注意其中存储了一个大小为101.28KB的图像: 这是我试图使用的代码,用于检索blob,然后读取图像Uri的: AzureStorageController带有Pics操作方法: public ActionRe

问题背景:

我有一个基本的MVC4站点,正在尝试显示一张图片,该图片存储在我的Azure云帐户的blob存储容器中。我将图像
Uri的列表
存储在字符串
list
中,并将它们传递到一个
视图
中,它们应该显示在那里

问题:

我似乎无法获取存储在容器中的图像的文件名。

下图显示Azure中的容器注意其中存储了一个大小为101.28KB的图像:

这是我试图使用的代码,用于检索blob,然后读取图像
Uri的

AzureStorageController
带有
Pics
操作方法:

 public ActionResult Pics()
    {
        var imageList = new List<string>();

        var imagesAzure = new myBlobStorageService();

        var container = imagesAzure.GetCloudBlobContainer();

        foreach (var blobItem in container.ListBlobs())
        {
            imageList.Add(blobItem.Uri.ToString());
        }
        return View(imageList);
    }
Pics
视图:

@{
ViewBag.Title = "Pics";
}

<h2>Pics</h2>

@foreach (var item in Model)
{
    <img src="@item" alt="picture" width="200" height="200" />
}
@{
ViewBag.Title=“Pics”;
}
照片
@foreach(模型中的var项目)
{
}
传递到Pics视图的列表中的Uri为:,但它不具有图像文件名


如有任何帮助,我们将不胜感激。

正如Guarav所述,检查的一件好事是确保您的容器不是“私有的”。

正如Guarav所述,检查的一件好事是确保您的容器不是“私有的”。

您应该从blob返回图像本身。按照您的方式,直接使用url将不起作用,因为应用程序没有访问存储帐户的权限。请检查blob容器的ACL并确保它不是“私有的”。您应该关闭此问题,因为我回答了您关于blob命名的另一个问题,正好也回答了此问题。TL;DR:您正在返回blob名称,即
myblob
。您应该从blob返回图像本身。按照您的方式,直接使用url将不起作用,因为应用程序没有访问存储帐户的权限。请检查blob容器的ACL并确保它不是“私有的”。您应该关闭此问题,因为我回答了您关于blob命名的另一个问题,正好也回答了此问题。TL;DR:您正在返回blob名称,即
myblob
。您应该从blob返回图像本身。按照您的方式,直接使用url将不起作用,因为应用程序没有访问存储帐户的权限。请检查blob容器的ACL并确保它不是“私有的”。您应该关闭此问题,因为我回答了您关于blob命名的另一个问题,正好也回答了此问题。TL;DR:您正在返回blob名称,即
myblob
@{
ViewBag.Title = "Pics";
}

<h2>Pics</h2>

@foreach (var item in Model)
{
    <img src="@item" alt="picture" width="200" height="200" />
}