2016-12-06 3 views
0

Ниже приведен мой код, чтобы сохранить изображение, используя,общая ошибка произошла в GDI + при сохранении изображения с помощью Image.Save (Имя файла, ImageFormat.Jpeg)

HttpPostedFile postedFile = request.Files[file]; 

string directoryPath = @"~\PostImage\"; 

Image image = Image.FromStream(postedFile.InputStream); 

string Filepath = Server.MapPath(directoryPath); 

string Filename = Filepath + "PostImageFile.jpg"; 

result.FieldName = Filename; 

image.Save(Filename, ImageFormat.Jpeg); 

Я получаю сообщение об ошибке при image.Save(Filename, ImageFormat.Jpeg);

ответ

0

Наконец Я получил решение,
Сначала я создал папку на моей локальной машине «ДобавленоImages» в каталог приложений.
Затем в Свойства папки в "Безопасность" добавлена ​​вкладка три новых пользователей
1) IIS_USRS
2) IUSR
3) NETWORK SERVICE
Для всех этих пользователей данных прав доступа FullControl каждый пользователь.
Затем добавили эту папку в приложение и опубликовали до Azure.
Теперь все работает нормально.
код изменен как:

string Filepath = Server.MapPath(@"~\PostedImages\"); 
string FilenameServer = Filepath + "PostedImage.jpg"; 
Image img = Image.FromStream(postedFile.InputStream); 
Bitmap bmp = img as Bitmap; 
Graphics g = Graphics.FromImage(bmp); 
Bitmap bmpNew = new Bitmap(bmp); 
g.DrawImage(bmpNew, new System.Drawing.Point(0,0)); 
g.Dispose(); 
bmp.Dispose(); 
img.Dispose(); 
bmpNew.Save(FilenameServer, ImageFormat.Jpeg); 

Я получил решение от http://www.aspforums.net/Threads/159114/Error-when-hosted-in-IIS-Server-SystemRuntimeInteropServicesExternalException-0x80004005-A-generic-error-occurred-in-GDI/