Как загрузить файл в веб-приложение Do tnet core 3.1 - PullRequest
0 голосов
/ 29 марта 2020

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

Ссылка: Microsoft Do c do tnet core 3.1

Мои действия:

[HttpPost]
        public async Task<IActionResult> Updateperson(UpdatePersonViewModel updatePerson)
        {
           if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if(updatePerson.Photo != null)
                {
                    string[] words = updatePerson.Photo.FileName.Split('.');
                    int a = words.Rank;
                    uniqueFileName = words[a];
                    uniqueFileName = Guid.NewGuid().ToString() + "_." + uniqueFileName;
                    string filePath = Path.Combine("Images",uniqueFileName);

                    //string filePath = Path.Combine(config["Images"], uniqueFileName);
                    //  using (var stream = System.IO.File.Create(filePath))
                    //        {
                    //           await formFile.CopyToAsync(stream);
                    //           }

                    await updatePerson.Photo.CopyToAsync(new FileStream(filePath,FileMode.Create));
                }
                _context.Persons.Update(updatePerson);
                _context.SaveChanges();
                return RedirectToAction("Profile", new RouteValueDictionary(new { action = "Profile", id = updatePerson.Id }));
            }
            else
            {
                return RedirectToAction("Profile", new RouteValueDictionary(new { action = "Profile", id = updatePerson.Id }));
            }


        }

>>> config является объектом IConfiguration

Вот ошибка: enter image description here

1 Ответ

0 голосов
/ 29 марта 2020

Это означает, что такой каталог с именем Изображение не существует!

Вы можете просто проверить, существует ли он, или создать его, если он не существует.

if(!Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}

Для проверки:

Используйте переменную directoryPath, например:

var directoryPath=Path.Combine(Directory.GetCurrentDirectory(), "Images");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...