File.Copy с URL C # - PullRequest
       18

File.Copy с URL C #

1 голос
/ 10 августа 2011

Можно использовать два URL-адреса с File.Copy с C #? Я получаю разные ошибки:

  1. Форматы URI не поддерживаются

  2. Формат указанного пути не поддерживается.

Есть вопрос, похожий, но на который нет ответа.

Я хочу скопировать из каталога, который находится на сервере server1, на другой сервер с URL-адресами http * 1015

Спасибо

Ответы [ 2 ]

9 голосов
/ 10 августа 2011

вы можете использовать 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 #

0 голосов
/ 10 августа 2011

Смотрите здесь: http://msdn.microsoft.com/en-us/library/system.io.file.copy.aspx

Если вы имеете в виду http URL, это невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...