2013-04-26 18 views
5

Quando usoSalva array di byte al percorso UNC

System.IO.File.WriteAllBytes("\\server\\tmp\\" + FileName, fileData); 

Sembra sempre di aggiungere "C:" all'inizio in modo che tenta di salvare in c: \ server \ temp ...

C'è un modo per aggirare questo?

+3

Provare una stringa letterale (anteporre '@'): 'WriteAllBytes (@" \\ server \ tmp \ " + FileName, fileData); ' – newfurniturey

risposta

8

Credo che questo sia dovuto al fatto che il doppio backslash non è sfuggito.

Prova a modificare:

System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData); 
+0

+1. Mi sento un completo idiota ora! Grazie – griegs

3

vostro percorso corrente restituisce \server\tmp\... che per default c:\server\tmp\....

Per effettuare un percorso UNC, avrete bisogno di un extra sfuggito directory-separatore:

System.IO.File.WriteAllBytes("\\\\server\\tmp\\" + FileName, fileData); 

o è possibile utilizzare una stringa letterale, invece:

System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData); 
+0

+1 e grazie. Aveva una completa interruzione della memoria lì. – griegs