我正在尝试保存这样的图像(来自 asp.net mvc 应用程序):
public static void SaveJpeg(string path, Image img)
{
var qualityParam = new EncoderParameter(Encoder.Quality, 100L);
var jpegCodec = GetEncoderInfo("image/jpeg");
var encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
img.Save(path, jpegCodec, encoderParams);
}
在尝试使用模拟并向模拟用户授予权限后,我将特定文件夹的完全控制权限授予了 IIS_IUSRS,但仍然不起作用。
所有这些在 x86 Windows 上都有帮助
有人知道解决方法吗?
最佳答案
尝试在不使用 GDI 的情况下创建一个文件,例如:
System.IO.File.CreateText("YourPath").WriteLine("Hello");
然后您将确定是否有写入问题。
请注意,在 IIS 中,您不仅必须在文件系统中启用对该文件夹的写入权限,而且还必须在 IIS 管理器中启用该文件夹的写入权限。
如果您实际上可以使用 System.IO
编写文件,请尝试将 WinDbg 附加到进程,这将告诉您更多关于 GDI+ 给您的 COM 错误.
关于c# - 尝试保存图像时出现一般 GDI+ 错误(在 64 位 Windows 7 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5262074/