【发布时间】:2016-02-16 17:00:37
【问题描述】:
我请求一个返回图像的 WS。
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
我可以看到 HttpWebResponse 中的 contentType 是 image/jpeg。
我想在我的视图中显示此图像,但我不知道如何。我不想将此图像写入 HDD 上的具体文件中。
我必须从 HttpWebResponse 中提取什么,是否必须将其转换为字节 []、文件或其他?
以及如何在我的视图中显示<img>,我应该为 src 放置什么,因为该文件不会真正存在?
<img src="???" />
编辑:这是我到目前为止所做的:
在控制器中:
...
byte[] responseByte = null;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
long streamLength = GetStreamLength(dataStream);
responseByte = new byte[streamLength];
dataStream.Read(responseByte, 0, (int)streamLength);
productDTO.thumbnail = responseByte;
在视图中:
@{
var base64 = Convert.ToBase64String(@item.thumbnail);
var imgSrc = String.Format("data:image/jpeg;base64,{0}", base64);
}
<img src="@imgSrc" />
但我得到一个损坏的图片链接,@imgSrc 只包含
<img src="data:image/jpeg;base64,AAAAAA.....AAAAAAAAAAA">
【问题讨论】:
-
这可能对你有帮助 [stackoverflow.com/questions/17780666/…
标签: c# asp.net-mvc-4