将图像转换为字节数组并传递给web api以在服务器上保存图像
本文关键字:图像 api web 服务器 保存 字节 转换 字节数 数组 | 更新日期: 2023-09-27 18:09:42
我想在字节数组中转换图像并将其传递给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
究竟是如何生成的,以及它包含的数据。