2010-01-05 4 views
0

Lors du transfert du fichier d'une machine à une autre machine en utilisant C# .Net sans code socket est comme suit:transfert de fichiers en utilisant 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" -> c'est une autre machine IP et l'emplacement lorsque je débogue l'erreur survenue dans la classe Uri.

erreur est->Invalid URI: The format of the URI could not be determined.

Ici je pourrais envoyer le fichier à la machine cible si l'emplacement est en action.
Je dois envoyer un fichier à l'emplacement correspondant même si le dossier n'est pas partagé.

Le code ci-dessus est-il correct?

+0

Avez-vous essayé fichier mettre: /// le début de l'emplacement de téléchargement? –

+2

Dans votre code, je vois un espace avant tags.txt. Pouvez-vous essayer de le supprimer? Comme ceci: 'Uri addy = nouveau Uri (" \\ 192.168.1.28 \\ Files \\ tags.txt ");' – Vijay

Répondre

0

Avez-vous essayé quelque chose comme File.Copy()? Je ne suis pas sûr si File.Copy utilise les informations d'identification Windows. Si c'est le cas, c'est le moyen le plus simple de transférer des fichiers entre deux ordinateurs.

client.UploadFile() peut également utiliser deux paramètres de chaîne au lieu d'un URI et une chaîne; vous pourriez essayer d'envoyer l'URI via une chaîne.

où vous avez écrit Uri vous avez besoin de mettre 4 barres obliques devant l'ip

//This is unrelated 
//System.Text.Encoding.ASCII.GetString(arrReturn) 
Questions connexes