【发布时间】:2011-03-07 07:57:13
【问题描述】:
我已在我的 MVC Web 应用程序中浏览并上传了一个 png/jpg 文件。 我已将此文件作为 byte[] 存储在我的数据库中。 现在我想读取 byte[] 并将其转换为原始文件。 我怎样才能做到这一点?
【问题讨论】:
标签: c# bytearray type-conversion
我已在我的 MVC Web 应用程序中浏览并上传了一个 png/jpg 文件。 我已将此文件作为 byte[] 存储在我的数据库中。 现在我想读取 byte[] 并将其转换为原始文件。 我怎样才能做到这一点?
【问题讨论】:
标签: c# bytearray type-conversion
记得参考 System.Drawing.Imaging 并为流使用 using 块。
【讨论】:
File.WriteAllBytes() 或其他任何方式将字节数组的内容直接写入文件即可。
从数据库中的 byte[] 数组创建内存流,然后使用 Image.FromStream。
byte[] image = GetImageFromDatabase();
MemoryStream ms = new MemoryStream(image);
Image i = Image.FromStream(ms);
【讨论】:
您可能对 DotNet Core 3.0 或更高版本上的上述解决方案有疑问
所以我的解决方案是:
using(var ms = new MemoryStream(yourByteArray)) {
using(var fs = new FileStream("savePath", FileMode.Create)) {
ms.WriteTo(fs);
}
}
【讨论】:
或者直接使用这个:
System.IO.File.WriteAllBytes(string path, byte[] bytes)
File.WriteAllBytes(String, Byte[]) Method (System.IO) | Microsoft Docs
【讨论】: