GDI общая ошибка … Попытка сохранить файл

#c# #asp.net #exception #gdi #asyncfileupload

#c# #asp.net #исключение #gdi #asyncfileupload

Вопрос:

Я многому научился у всех присутствующих здесь, однако я столкнулся с проблемой, на которую у меня возникли проблемы с поиском ответа. При попытке сохранить изображение, которое было загружено с помощью AsyncFileUpload, я получаю следующую ошибку: В GDI произошла общая ошибка.

Я довольно долго гуглил, и кажется, что наиболее вероятная проблема связана с разрешениями. Я попытался разрешить запись / изменение для Network и Network_Serice. Позже попытался разрешить это для пользователя среды и, наконец, протестировал это с помощью «Everyone» — к сожалению, это все еще не работало.

Одной из возможных проблем является тот факт, что я полагаюсь на встроенный сервер разработки. Я все еще довольно новичок во всем этом, поэтому не слишком уверен, есть ли какие-либо ограничения в этой области или я просто упускаю из виду что-то очевидное.

Код:

 

try
{
     //Attempt to convert file to image
     uploadedImage = System.Drawing.Image.FromStream(avatarUpload.PostedFile.InputStream);

     //Save image
     if (uploadedImage != null)
     {
          //Create vars
          String savePath = Server.MapPath("~/Images/Avatars/");

          //Save image
          uploadedImage.Save(savePath, ImageFormat.Jpeg); !!! Exception raised here

          //Dispose of image
          uploadedImage.Dispose();
     }
}
catch
{
     //Create error message
     createMessage("Please ensure you select an image i.e. .bmp, .png, .jpg.", "error");
}                                   
  

Если у кого-нибудь есть какие-либо идеи или нужна дополнительная информация, пожалуйста, дайте мне знать.

Ответ №1:

Изменить

 String savePath = Server.MapPath("~/Images/Avatars/");
  

Для

 String savePath = Server.MapPath("~/Images/Avatars/myImage.jpg");
  

Комментарии:

1. К какому пространству имен принадлежит сервер?