Tôi có một chức năng mà lần đầu tiên đọc một hình ảnh từ đĩa, thay đổi kích thước nó và sau đó lưu vào một thư mục khác.Lỗi ASP.NET trên Bitmap.Save "Ngoại lệ (0x80004005): Đã xảy ra lỗi chung trong GDI +".
khi tôi sử dụng Bitmap.Save (thư mục + theimagename), nó trả về lỗi như tôi đã nêu trong tiêu đề câu hỏi.
tôi đã kiểm tra thư mục là đúng và tên hình ảnh đã cho không tồn tại trong thư mục đó.
điều kỳ lạ, là cùng một mã hoạt động tốt trên máy cục bộ. nhưng khi tôi tải nó lên không gian lưu trữ được chia sẻ của tôi, nó không hoạt động.
mã bên dưới.
bmpOut = new Bitmap(Size, Size);
Graphics g = Graphics.FromImage(bmpOut);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.FillRectangle(Brushes.White, 0, 0, Size, Size);
int topBottomPadding = 0; int leftRightPadding = 0;
if (Size > lnNewWidth + 1)
leftRightPadding = Convert.ToInt32((Size - lnNewWidth)/2);
else if (Size > lnNewHeight + 1)
topBottomPadding = Convert.ToInt32((Size - lnNewHeight)/2);
g.DrawImage(loBMP, leftRightPadding, topBottomPadding, lnNewWidth, lnNewHeight);
Bitmap bmp = new Bitmap(bmpOut);
if (bmp != null)
bmp.Save(ResizedOutput); // C:\Inetpub\vhosts\DomainName\httpdocs\ProductImages\500px\gigabyte_ga_ep45_ds4_profilelarge[1].jpg
bmp.Dispose();
bmpOut.Dispose();
g.Dispose();
loBMP.Dispose();
stack trace:
[ExternalException (0x80004005): A generic error occurred in GDI+.]
System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) +377630
System.Drawing.Image.Save(String filename, ImageFormat format) +69
System.Drawing.Image.Save(String filename) +25
Utilities.ResizeImage(String fileName, String mode) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\App_Code\Utilities.cs:181
Link.ToProductImage(String fileName) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\App_Code\Link.cs:79
Product.PopulateControls(ProductDetails pd) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\Product.aspx.cs:37
Product.Page_Load(Object sender, EventArgs e) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\Product.aspx.cs:20
cách ngớ ngẩn của tôi, tôi đã được đào thông qua mã của tôi trong 2 ngày cố gắng tìm những gì heck là sai. bạn đã đúng, nó phải là điều đầu tiên tôi đã kiểm tra. tôi chỉ cung cấp cho người dùng "Người dùng Plesk IIS WP (IWAM_plesk (mặc định))" toàn quyền, và nó đang hoạt động. cảm ơn. – Batu
SO có nghĩa là trở thành đôi mắt thứ hai của bạn X-) –