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 に答える