如何将字节数组转换为图像文件?

32

我在我的MVC Web应用程序中浏览并上传了一个png / jpg文件。我已将此文件存储为byte []在我的数据库中。现在,我想读取并将byte []转换为原始文件。我该如何实现?

4个回答

37

14
如果字节数组已经包含有效图像,则图像往返传输就没有意义。只需使用File.WriteAllBytes()或其他方法将字节数组的内容直接写入文件即可。 - CodeCaster

27

从数据库中的byte[]数组创建内存流,然后使用Image.FromStream。

byte[] image = GetImageFromDatabase();
MemoryStream ms = new MemoryStream(image);
Image i = Image.FromStream(ms);

6

你可能在DotNet Core 3.0或更高版本上遇到了上述解决方案的问题,
我的解决方案是:

using(var ms = new MemoryStream(yourByteArray)) {
   using(var fs = new FileStream("savePath", FileMode.Create)) {
      ms.WriteTo(fs);
   }
}

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接