繁体   English   中英

将Image转换为字节数组并将其传递给web api以在服务器上保存图像

[英]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

  1. 原始像素数据?

    你应该阅读这个答案

  2. 一个图像文件?

    你的代码应该有效。 你得到的错误可能是因为事实并非如此。

  3. 一个序列化的图像?

    在这种情况下,您需要使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM