. Net Загрузка изображения - Microsoft Azure - PullRequest
1 голос
/ 10 апреля 2020

Я пытаюсь загрузить изображение вместе с формой, которая прекрасно работает на локальном хосте, но после развертывания в Microsoft azure я получаю 500 внутренних ошибок сервера. После того, как я закомментировал приведенный ниже код, данные формы были успешно сохранены в БД. Поэтому я не могу понять, почему загрузка работает на локальном, а не на azure.

//upload image
        var postedFile = httpRequest.Files["Picture"];
        if (postedFile != null && postedFile.ContentLength > 0)
        {
            //create custom filename
            imageName = new string(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-");
            imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName);
            var filePath = HttpContext.Current.Server.MapPath("~/Upload/" + imageName);
            postedFile.SaveAs(filePath);
        }

1 Ответ

1 голос
/ 10 апреля 2020

Может потребоваться сначала создать каталог с помощью System.IO.Directory.CreateDirectory(path);.

Проверьте реализацию ниже;

var postedFile = httpRequest.Files["Picture"];
if (postedFile != null && postedFile.ContentLength > 0)
{
   //create custom filename
   imageName = new string(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-");
   imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName);

   // create directory
   var path = Server.MapPath("~/Upload");
   if (!System.IO.Directory.Exists(path))
   {
       System.IO.Directory.CreateDirectory(path);
   }

   // then save
   var filePath = HttpContext.Current.Server.MapPath("~/Upload/" + imageName);
   postedFile.SaveAs(filePath);
}
...