CRUD Функции для создания папки в wwwroot - PullRequest
0 голосов
/ 02 августа 2020

Я хочу создать функцию, которая может создавать папку внутри папки wwwroot. Потому что требование моего клиента - создать альбомы (папку). Мне нужно сохранить эти альбомы в моей папке root, а затем изображения в этих папках. Например: BirthdayAlbum, WeedingAlbum и так далее ..

Как это сделать в ASP. NET Core MVC?

1 Ответ

0 голосов
/ 03 августа 2020

Хотя ваш вопрос не включает в себя то, что вы сделали до сих пор, но я надеюсь, что это поможет вам в некотором роде:

public async Task<IActionResult> Upload(string folder)
      {
           if (folder == null)
           {
                folder = "Uploads";
           }

           var file = Request.Form.Files[0];
           var directory = Path.Combine(_environment.WebRootPath, $"{folder}");
           var filePath = $"{Request.Scheme}://{Request.Host}/{folder}/";
           var finalFileName = "";
           if (file.Length > 0)
           {
                if (!Directory.Exists(directory))
                {
                     Directory.CreateDirectory(directory);
                }
                var fileName = Path.GetFileName(Guid.NewGuid().ToString().Substring(0, 12).ToLower() + file.FileName);
                var path = Path.GetFullPath(directory);
                using (var fileStream = new FileStream(Path.Combine(path, fileName), FileMode.Create, FileAccess.ReadWrite))
                {
                     await file.CopyToAsync(fileStream);
                }
                finalFileName = fileName;
           }

           return Ok($"{filePath + finalFileName}");
      }

ПРИМЕЧАНИЕ. Пожалуйста, вставьте IWebHostEnvironment в свой конструктор контроллера, если вы используете ASP. NET Core 3.1 или его эквивалент, если он ниже.

Приведенный выше код позволяет вам создавать папки в папке wwwroot с указанным вами именем, а также загружать изображения или файлы.

Надеюсь, это поможет вам решить проблему.

...