вы можете использовать File.Copy, только если мы не говорим о FTP. в этом случае вы можете использовать код ниже
если у вас есть FTP, вы можете использовать следующий код:
public void ftpfile(string ftpfilepath, string inputfilepath)
{
string ftphost = "127.0.0.1";
//here correct hostname or IP of the ftp server to be given
string ftpfullpath = "ftp://" + ftphost + ftpfilepath;
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
ftp.Credentials = new NetworkCredential("userid", "password");
//userid and password for the ftp server to given
ftp.KeepAlive = true;
ftp.UseBinary = true;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(inputfilepath);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpstream = ftp.GetRequestStream();
ftpstream.Write(buffer, 0, buffer.Length);
ftpstream.Close();
}
тогда вы можете сделать
ftpfile(@"/testfolder/testfile.xml", @"c:\testfile.xml");
если мы говорим об общей папке в той же сети, вы можете сделать следующее:
File.Copy(filepath, "\\\\192.168.1.28\\Files");
для HTTP вы можете использовать ниже:
using(WebClient client = new WebClient()) {
client.UploadFile(address, filePath);
}
Источник:
Отправить файл через HTTP POST с помощью C #