/ / Dlaczego otrzymuję błąd "Nielegalne znaki w ścieżce"? - asp.net-mvc-3

Dlaczego dostaję błąd "Nielegalne znaki w ścieżce"? - asp.net-mvc-3

Próbuję zapisać dane do pliku takiego jak to:

FileStream file = new FileStream("c:temp", FileMode.Create, System.IO.FileAccess.Write);
byte[] bytes = new byte[file.Length];
file.Read(bytes, 0, (int)file.Length);
file.Write(bytes, 0, bytes.Length);
file.Close();
file.Close();

I pojawia się ten błąd:

Nielegalne postacie na ścieżce. Opis: Wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania WWW. Sprawdź ślad stosu, aby uzyskać więcej informacji o błędzie i skąd pochodzi w kodzie.

Szczegóły wyjątku: System.ArgumentException: Niedozwolone znaki na ścieżce.

Co ja robię źle?

Odpowiedzi:

0 dla odpowiedzi № 1

Musisz uciec od ukośnika odwrotnego w ścieżce pliku:

 FileStream("c:\temp", ...

t jest znakiem dla karty.


2 dla odpowiedzi nr 2

Spróbuj "c: \ temp" - "c: temp" to ciąg [c] [:] [znak tabulatora] [e] [m] [p], który prawie na pewno nie jest żądaną nazwą pliku!


1 dla odpowiedzi nr 3

Użyj jednego z poniższych

FileStream file = new FileStream(@"c:temp", FileMode.Create, System.IO.FileAccess.Write);
FileStream file = new FileStream("c:\temp", FileMode.Create, System.IO.FileAccess.Write);

"" jest postacią ucieczki, więc nie możesz jej użyć bezpośrednio