私が使うとき
System.IO.File.WriteAllBytes("\\server\\tmp\\" + FileName, fileData);
常に先頭に「C:」を追加しているように見えるため、c:\server\temp に保存しようとします...
これを回避する方法はありますか?
私が使うとき
System.IO.File.WriteAllBytes("\\server\\tmp\\" + FileName, fileData);
常に先頭に「C:」を追加しているように見えるため、c:\server\temp に保存しようとします...
これを回避する方法はありますか?
これは、二重のバックスラッシュがエスケープされていないためだと思います。
代わりにこれを試してください:
System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData);
現在のパスは、\server\tmp\...
デフォルトで に評価されますc:\server\tmp\...
。
UNC パスを作成するには、追加のエスケープされたディレクトリ セパレータが必要です。
System.IO.File.WriteAllBytes("\\\\server\\tmp\\" + FileName, fileData);
または、代わりに文字列リテラルを使用できます。
System.IO.File.WriteAllBytes(@"\\server\tmp\" + FileName, fileData);
彼はどうですか:
System.IO.File.WriteAllBytes(Path.Combine(@"\\server\tmp", FileName), fileData);