2010-01-05 2 views
0

При передаче файла с одной машины на другую машину с помощью C# .NET без кода сокета следующим образом:передачи файлов с использованием NetworkCredential

string filePath = "C:\\tags.txt"; 
try 
{ 
    WebClient client = new WebClient(); 
    string uName = "myUserName", password ="myPassword"; 
    NetworkCredential nc = new NetworkCredential(uName, password); 
    Uri addy = new Uri("\\192.168.1.28\\Files\\ tags.txt"); 
    client.Credentials = nc; 
    byte[] arrReturn = client.UploadFile(addy, filePath); 
    Console.WriteLine(arrReturn.ToString()); 
} 
catch (Exception ex) 
{ 
    Console.WriteLine(ex.Message); 
} 

«192.168.1.28 \ Files \ tags.txt» -> это другой IP-адрес устройства и местоположение , когда я отлаживаю ошибку, произошедшую в классе Uri.

Ошибка IS->Invalid URI: The format of the URI could not be determined.

Здесь я мог бы отправить файл на целевой машине, если место в доле.
Ii необходимо отправить файл в соответствующее место, даже если папка не используется совместно.

Является ли приведенный выше код правильным кодом?

+0

вы пробовали положить файл: /// на старте место загрузки? –

+2

В вашем коде я вижу пробел перед тегами. Txt. Можете ли вы попробовать удалить его? Нравится это: 'Uri addy = new Uri (" \\ 192.168.1.28 \\ Files \\ tags.txt ");' – Vijay

ответ

0

вы что-то пробовали File.Copy()? Я не уверен, что File.Copy использует учетные данные Windows. если это так, то это самый простой способ передачи файлов между двумя компьютерами.

client.UploadFile() также может использовать два строковых параметра вместо URI и строки; вы можете попробовать отправить URI через строку.

где вы написали Uri вам нужно поставить 4 косую черту перед ф

//This is unrelated 
//System.Text.Encoding.ASCII.GetString(arrReturn) 
Смежные вопросы