保存字节数组UNC路径

问题描述:

当我使用保存字节数组UNC路径

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

它似乎总是要加上“C:”来开头,以便它试图保存到C:\服务器\ TEMP ...

有没有解决的办法?

+3

尝试一个字符串文字(预置'@'):'WriteAllBytes(@“\\ server \ tmp \” + FileName,fileData);' – newfurniturey 2013-04-26 02:52:44

我相信这是因为双反斜杠没有逃脱。

试试这个:

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

+1。我现在感觉自己像个白痴!谢谢 – griegs 2013-04-26 02:54:53

您当前的路径计算为\server\tmp\...将默认为c:\server\tmp\...

为了使UNC路径,你需要一个额外的转义目录分隔:

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

你可以使用一个字符串字面来代替:

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

+1,谢谢。有一个完整的内存停止在那里。 – griegs 2013-04-26 03:04:06

如何对他:

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