将字节数组保存到UNC路径

6
当我使用时,

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

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

有没有方法解决这个问题?


3
尝试使用字符串字面量(在@符号之前加上):WriteAllBytes(@"\\server\tmp\" + FileName, fileData);。该代码行用于将二进制数据写入网络共享文件夹中的文件。 - newfurniturey
3个回答

11
我认为这是因为双反斜杠没有被转义。
请尝试使用以下内容代替:
System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData);

5

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

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

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

或者您可以使用字符串字面量:

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

1
他怎么样?
System.IO.File.WriteAllBytes(Path.Combine(@"\\server\tmp", FileName), fileData);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接