Asp.net mvc 使用asp.NETMVC从RESTfulWebService下载图像并在razor中显示

Asp.net mvc 使用asp.NETMVC从RESTfulWebService下载图像并在razor中显示,asp.net-mvc,webclient,Asp.net Mvc,Webclient,我尝试从url获取图像,并在razor中显示图像。但我无法将字节更改为图像并显示此内容 //this is a string contains 3name of image and i give each of them with this way string[] imgname = user.Original_images.Split(','); foreach (var item3 in imgname) { string

我尝试从url获取图像,并在razor中显示图像。但我无法将字节更改为图像并显示此内容

//this is a string contains 3name of image and i give each of them with this 
   way
  string[] imgname = user.Original_images.Split(',');
        foreach (var item3 in imgname)
        {
            string url2 = "my URL" + 
             + item3 + ".jpg";

           //i download image successfully
            webclient.Headers["Authorization"] = "Basic " + 
              Convert.ToBase64String( 
              Encoding.Default.GetBytes("Username:password"));

            byte[] data = webclient.DownloadData(url2);

           //i don't know what should i do after this...
        }
您可以使用操作:

请记住,一次只能返回一个文件结果,可以对多个图像使用多个控制器调用

//changed part
return File(data , System.Net.Mime.MediaTypeNames.Application.Octet, item3);    

public FileResult Download()
{
    //this is a string contains 3name of image and i give each of them with this 
   way
  string[] imgname = user.Original_images.Split(',');
        foreach (var item3 in imgname)
        {
            string url2 = "my URL" + 
             + item3 + ".jpg";

           //i download image successfully
            webclient.Headers["Authorization"] = "Basic " + 
              Convert.ToBase64String( 
              Encoding.Default.GetBytes("Username:password"));

            byte[] data = webclient.DownloadData(url2);

           //i don't know what should i do after this...
            return File(data , System.Net.Mime.MediaTypeNames.Application.Octet, item3);
        }


}
我解决我的问题

 string[] imgname = user.Original_images.Split(',');
    foreach (var item3 in imgname)
    {
        string url2 = "my URL" + 
         + item3 + ".jpg";

       //i download image successfully
        webclient.Headers["Authorization"] = "Basic " + 
          Convert.ToBase64String( 
          Encoding.Default.GetBytes("Username:password"));

        byte[] data = webclient.DownloadData(url2);

       //this is new
            string imageBase64Data = Convert.ToBase64String(imageByteData);
            string imageDataURL = string.Format("data:image/jpg;base64,{0}", 
            imageBase64Data);
            ViewBag.ImageData = imageDataURL; 
    }
在剃刀里我有这个

<img src="@ViewBag.ImageData" />


<代码>我写的代码在一个方法的中间,我不能返回,当我写这个:用户.img=文件(数据,System.Net.Mime.MediaTypeNames.Application.Octet,ITEM3);[用户是我的viewmodel的一个对象,img的类型是“object”]但是当我想在razor中显示user.img时,我看到了这个ContentType应用程序/octet流文件DownloadName!!您可以使用controller to action方法检索图像。