[英]Convert Image to byte array and pass it to web api to save image on server
我想在字节数组中转换图像并将其传递给web api以在服务器上保存图像并在数据库中保存图像名称。
我已经完成了以下代码,但因为参数在我使用此块时无效而获得异常 -
byte[] param contains byte array value of image from request url
using (var ms = new System.IO.MemoryStream(param))
{
var cd= Image.FromStream(ms);
//...
}
using (var ms = new System.IO.MemoryStream(param))
{
var Image= Image.FromStream(ms);
//...
}
我已经尝试过在搜索中找到的解决方案,但发生了同样的错误。
任何人都可以帮我解决这个错误。
这完全取决于什么样的param
:
原始像素数据?
你应该阅读这个答案 。
一个图像文件?
你的代码应该有效。 你得到的错误可能是因为事实并非如此。
一个序列化的图像?
在这种情况下,您需要使用Binary
格式化程序。 您可以在System.Runtime.Serialization.Formatters.Binary
命名空间中找到一个。
要从byte[]
缓冲区获取图像,您需要执行以下操作:
Image deserializedImage = null; using (var memoryStream = new MemoryStream(bytes, false)) { deserializedImage = (Image)formatter.Deserialize(memoryStream); }
如果这些选项都不起作用,那么您需要调查生成param
确切方式及其包含的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.