Кроссплатформенная обработка имен файлов в .NET Core

Как обработать имя файла вSystem.IO классы в кросс-платформенной манере, чтобы она работала в Windows и Linux?

Например, я пишу этот код, который отлично работает в Windows, но не создает файл в Ubuntu Linux:

var tempFilename = $@"..\Data\uploads\{filename}";
using (FileStream fs = System.IO.File.Create(tempFilename))
{
    file.CopyTo(fs);
    fs.Flush();                    
}

Ответы на вопрос(4)

Ваш ответ на вопрос