Asp.net mvc 使用asp.NETMVC从RESTfulWebService下载图像并在razor中显示
我尝试从url获取图像,并在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
//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方法检索图像。