asp.net mvc-如何在c#中保存图像流

本文关键字:保存 图像 net mvc- asp | 更新日期: 2023-09-27 17:57:47

我在c#中有一个图像流,我想用c#代码将它们保存在硬盘上。当我试图做到这一点时,我发现我的记忆力永远不够。

所以我确信我的代码会泄露资源,所以有人能告诉我如何进行吗

HttpPostedFileBase file

 file.SaveAs(location);
 Image image = Image.FromFile(location,false);
 image.Save(location, System.Drawing.Imaging.ImageFormat.Png);

image.from文件行[3]导致内存不足的异常。有人能告诉我如何在c#中做到这一点吗。

使用Ajax请求的文件来自PNG,其八位字节类型与Mime类型一样,所以我可以这样做。

asp.net mvc-如何在c#中保存图像流

假设您想将图像转换为PNG(否则不需要保存一次图像,重新加载并重新保存),那么避免两次加载图像可能是个好主意。看看这样的东西是否有帮助:

Image.FromStream(file.InputStream, false).Save(location, System.Drawing.Imaging.ImageFormat.Png);
file.SaveAs(location);

已将图像保存在给定的位置或引发异常,因此不需要以下行。

        Bitmap bmp = new Bitmap(file.InputStream);
        bmp.Save(filename, ImageFormat.Png);