/ / Pourquoi une erreur «Caractères illégaux dans le chemin» est-elle générée? - asp.net-mvc-3

Pourquoi avoir une erreur «Caractères illégaux dans le chemin»? - asp.net-mvc-3

J'essaie de sauvegarder des données dans un fichier comme celui-ci:

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();

Et je reçois cette erreur:

Caractères illégaux dans le chemin. Description: une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Consultez la trace de la pile pour plus d’informations sur l’erreur et son origine dans le code.

Détails des exceptions: System.ArgumentException: caractères illégaux dans le chemin.

Qu'est-ce que je fais mal?

Réponses:

0 pour la réponse № 1

Vous devez échapper à la barre oblique inversée dans votre chemin de fichier:

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

t est le caractère d'un onglet.


2 pour la réponse № 2

Essayez "c: \ temp" - "c: temp" est la chaîne [c] [:] [caractère de tabulation] [e] [m] [p] qui n'est sûrement pas le nom de fichier que vous vouliez!


1 pour la réponse № 3

Utilisez l'une des méthodes suivantes

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

"" est un caractère d'échappement, vous ne pouvez donc pas l'utiliser directement