将图像转换为字节数组并传递给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);
     //...
                    }

我已经尝试了解决方案,因为我在搜索中发现,但同样的错误发生了。

有谁能帮我解决这个错误吗

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

这完全取决于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究竟是如何生成的,以及它包含的数据。