views:

811

answers:

1

Hello,

I'm writing a program that, among other things, needs to copy a particular file to a network folder. Since I'm on a company network, the credentials needed to access that folder are the same as my Windows credentials.

The program works if I open the folder in Explorer, provide my username and password, and then run the uploader. It doesn't work without first providing that username and password.

How do I tell System.IO to supply my DefaultNetworkCredentials to the Copy method? Or is there another method I can use to get this done?

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"

Thanks!

~ Wogan

+2  A: 

The error suggests that it is an incorrect path rather than a permissions problem.

Try this:

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

[The @ is the string literal quoting symbol; without it the backslash is a special character]

Mitch Wheat
you can also escape all the '\' chars with '\\'. But Mitch'es solution is best.
Koekiebox
Sadly, that's not it - Like I said in my original question, the code works fine if I browse to and log in to the folder path in Explorer before I run the program.
Wogan
Oops, and that pseudocode sample wasn't copied from the program, it was just for demonstration purposes.
Wogan
@Wogan: kinda hard for people to help you if you post unrepresentative code....
Mitch Wheat