5

当我使用

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

它似乎总是在开头添加“C:”,因此它会尝试保存到 c:\server\temp...

有没有解决的办法?

4

3 回答 3

10

我相信这是因为双反斜杠没有被转义。

试试这个:

System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData);
于 2013-04-26T02:53:46.647 回答
4

您当前的路径评估为\server\tmp\...默认为c:\server\tmp\....

要创建 UNC 路径,您需要一个额外的转义目录分隔符:

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

或者您可以使用字符串文字代替:

System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData);
于 2013-04-26T02:54:53.647 回答
1

他的呢:

System.IO.File.WriteAllBytes(Path.Combine(@"\\server\tmp", FileName), fileData);
于 2013-04-26T02:56:31.987 回答