Загрузка файла для создания каталога ASP.Net core mac os не создает подпапку - PullRequest
0 голосов
/ 18 сентября 2018

Я использую ядро ​​asp.net для создания проекта для загрузки файла в определенное место на сервере.

Вот код:

TempFileName = Regex.Replace(vehicle.FileUpload.FileName, "[^a-zA-Z0-9_]+", "_", RegexOptions.Compiled);
var directiveToUpload = Path.Combine(_hostingEnvironment.WebRootPath, "images\\UploadFile");

if (!System.IO.Directory.Exists(directiveToUpload))
{
    System.IO.Directory.CreateDirectory(directiveToUpload);
}

await SaveFileToServer(TempFileName);

Сохраните файл:

async Task SaveFileToServer(string FileName)
{

    if (vehicle.FileUpload.Length > 0)
    {
        using (var stream = new FileStream(Path.Combine(directiveToUpload, FileName), FileMode.Create))
        {
            await vehicle.FileUpload.CopyToAsync(stream);
        }
    }
}

Поскольку файл загружен, но он не создает подпапки на Mac. images \ UploadFile это не работает.

image upload

1 Ответ

0 голосов
/ 19 сентября 2018

Невозможно воспроизвести эту проблему, но, поскольку разделитель каталогов - это не \ на Mac, я думаю, что он не интерпретирует это правильно.Чтобы избежать этого, вы можете заменить свой код на использование константы Path.DirectorySeparatorChar.

var directiveToUpload = Path.Combine(_hostingEnvironment.WebRootPath, "images\\UploadFile");

станет

var directiveToUpload = Path.Combine(_hostingEnvironment.WebRootPath, $"images{Path.DirectorySeparatorChar}UploadFile");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...