0 votes

C# Copier un fichier dans un dossier avec des autorisations

J'écris un programme qui, entre autres choses, doit copier un fichier particulier dans un dossier réseau. Comme je suis sur un réseau d'entreprise, les identifiants nécessaires pour accéder à ce dossier sont les mêmes que mes identifiants Windows.

Le programme fonctionne si j'ouvre le dossier dans l'explorateur, que j'indique mon nom d'utilisateur et mon mot de passe, puis que j'exécute le programme de téléchargement. Il ne fonctionne pas si je ne fournis pas d'abord ce nom d'utilisateur et ce mot de passe.

Comment puis-je dire à System.IO de fournir mes DefaultNetworkCredentials à la méthode Copy ? Ou y a-t-il une autre méthode que je puisse utiliser pour y parvenir ?

string pathToFile = "myfile.csv";
string pathToRemoteFile = "\\server.domain.tld\Documents\Subfolder\myfile.csv"

System.IO.File.Copy(pathToFile, pathToRemoteFile); // Fails with IOException "can't find network path"

Merci de votre attention !

~ Wogan

2voto

Mitch Wheat Points 169614

L'erreur suggère qu'il s'agit d'un chemin d'accès incorrect plutôt que d'un problème de permissions.

Essayez ceci :

string pathToRemoteFile = @"\\server.domain.tld\Documents\Subfolder\myfile.csv"

[Le @ est le symbole de citation de la chaîne littérale ; sans lui, la barre oblique inverse est un caractère spécial].

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X