我在服务器上有一个图像的字节数组。 使用MVC作为伪REST Web服务接口。
我需要通过HTTP请求将此图像发送回MVC客户端进行渲染。
我的第一次尝试是使用UFT8Encoding将其编码为字符串,发送该交叉然后使用客户端上的UTF8Encoding对其进行解码。 但是,当我这样做时,客户端上的结果为空。我假设由于我想要发回的字符串的格式。
这就是我现在所做的事无济于事:
byte[] image = GetBarcodeImage(barcode);
if (image != null)
{
UTF8Encoding enc = new UTF8Encoding();
result = enc.GetString(image);
}
这是在客户端:
UTF8Encoding encoding= new UTF8Encoding();
byte[] image = encoding.GetBytes(result);
string imageBase64 = Convert.ToBase64String(image);
string imgsrc = string.Format("data:image/gif;base64,{0}", imageBase64);
答案 0 :(得分:0)
是否有任何理由不将其作为控制器中的图像返回?
var image = GetByteArrayImage();
var stream = new MemoryStream(image);
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Expires = 14400;
return File(stream, "image/jpg");
在您的客户端中,您只需使用WebRequest下载文件就像任何其他文件一样,而不必做任何其他魔术。