我在一个网站上工作,在那里用户可以上传一些图像。我正在使用HttpPostedFileBase获取上传的图片
下面是Action标头:
public async Task<ActionResult> Create(Advert advert, HttpPostedFileBase FileURL)
我可以使用FileURL.SaveAs(HttpContext.Server.MapPath(fileName))保存图像,其中fileName是我随机生成的参数,一切工作正常。
现在我想为我的图像生成一个缩略图,所以我写了下一个方法:
public static void SaveJpeg(string path, HttpPostedFileBase uploadedFile, int quality)
{
if (quality < 0 || quality > 100)
throw new ArgumentOutOfRangeException("quality must be between 0 and 100.");
// Encoder parameter for image quality
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
// JPEG image codec
ImageCodecInfo codec = GetEncoderInfo("image/jpeg");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
Image img = Image.FromStream(uploadedFile.InputStream);
var thumbnail = img.GetThumbnailImage(img.Width / 5, img.Height / 5, null, IntPtr.Zero);
//img.Save(path, codec, encoderParams);
thumbnail.Save(path, codec, encoderParams);
}但我在保存缩略图时遇到A generic error occured in GDI+错误
PS:我在本地图像上测试了我的代码(将Image传递给方法),一切都运行得很好。
请帮帮忙。
提前感谢:)
发布于 2017-09-23 04:47:54
您可能已经对此进行了设置,但如果在要保存到的目录上未正确设置权限,则可能会发生此类错误。默认情况下,IIS中的站点没有写入IIS目录的权限。默认用户是IIS_IUSRS,如果这是问题所在,则需要为其授予Modify访问权限。

https://stackoverflow.com/questions/46372209
复制相似问题