操作方法:将图像的字节数组转换为字符串,通过 HTTP 请求发回,然后返回 byte[] 图像?
我在服务器上有一个图像的字节数组。 使用 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);
I have a byte array of an image on the server.
Using MVC as a pseudo-REST web service interface.
I'm in need of sending this image back through the HTTP request to the MVC client to render.
My first attempt was using UFT8Encoding to encode it to a string, send that cross then decode it using UTF8Encoding on the client.
However, when I do this, the result on the client is null. I assume due to the format of the string that I'm trying to send back.
This is what I'm doing now to no avail:
byte[] image = GetBarcodeImage(barcode);
if (image != null)
{
UTF8Encoding enc = new UTF8Encoding();
result = enc.GetString(image);
}
This is on the client side:
UTF8Encoding encoding= new UTF8Encoding();
byte[] image = encoding.GetBytes(result);
string imageBase64 = Convert.ToBase64String(image);
string imgsrc = string.Format("data:image/gif;base64,{0}", imageBase64);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您有什么理由不将其作为图像从控制器返回吗?
在您的客户端中,您可以像使用任何其他文件一样使用 WebRequest 下载文件,而无需执行任何其他操作。
Is there any reason you don't return it as an image from your controller?
Thin in your client you can just use WebRequest to download the file like any other file and not have to do any other magic.