2013-04-26 16 views
5

Ben her zaman "C:" eklemek görünüyorkaydet Byte Dizisi

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

kullandığınızda başına o c kurtarmaya çalıştığı böylece: \ server \ temp ...

Bunun etrafında bir yolu var mı?

+3

Bir dize değişmezi (prepending the '@') deneyin: 'WriteAllBytes (@" \\ server \ tmp \ " + DosyaAdı, dosyaValiyeti); – newfurniturey

cevap

8

Bunun sebebi, çift ters eğik çizginin kaçmamasıdır.

yerine bu deneyin:

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

+1. Şimdi tam bir aptal gibi hissediyorum! Teşekkürler – griegs

3

Geçerli yol c:\server\tmp\... varsayılan yapar \server\tmp\... olarak değerlendirilir. Eğer bir dize-değişmezi yerine kullanabilirsiniz

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

ya:

fazladan dizin ayırıcı kaçan gerekir, bir UNC yolu yapmak için yaklaşık

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

+1 ve teşekkürler. Orada tam bir hafıza durması vardı. – griegs

1

Nasıl onun :

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