Jak obsługiwać nazwy plików w klasach System.IO
w sposób międzyplatformowy, aby działał w systemach Windows i Linux?Obsługa nazw wielu platform w .NET Core
Na przykład piszę ten kod, który działa doskonale na Windows, jednak nie tworzy plik na Ubuntu Linux:
var tempFilename = [email protected]"..\Data\uploads\{filename}";
using (FileStream fs = System.IO.File.Create(tempFilename))
{
file.CopyTo(fs);
fs.Flush();
}
Czy istnieje jakaś automatyczna konwersja ścieżki podobna do Qt, która używa wyłącznie slash i konwertuje je na ukośnik w oknach? – Rem
@Rem Czy chcesz je przekonwertować? System Windows zazwyczaj obsługuje również ukośniki. – svick
Jak svick mówi, ukośniki mogą być używane jako separatory ścieżek w systemie Windows (tylko command.com i cmd.exe interpretują ukośniki jako coś innego) @Rem –