从 restful 网络服务下载图像并在剃须刀中显示使用 asp.net MVC
download image from restful webservice and display in razor use asp.net MVC
我尝试从 url 获取图像并在 razor.but 中显示图像 我无法将字节更改为图像并显示此图像。
//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...
}
您可以使用 FileResult 操作:
记住您一次只能return一个文件结果,您可以对多个图像使用多次控制器调用。
//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" />
我尝试从 url 获取图像并在 razor.but 中显示图像 我无法将字节更改为图像并显示此图像。
//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...
}
您可以使用 FileResult 操作:
记住您一次只能return一个文件结果,您可以对多个图像使用多次控制器调用。
//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" />