2011-08-10 6 views
1

C#でFile.Copyで2つのURLを使用することは可能ですか? - 私は別のエラーを取得:File.Copy with URL C#

  1. URI形式が指定されたパスの形式がサポートされていません

  2. サポートされていません。

質問がありますが、回答はありません。私は別のサーバーやURLにサーバー1にあるディレクトリからコピーしたい

は、http

おかげ

+1

あなたは、たとえば、HTTP URLを意味しますか?絶対にそうではありません...あなたがしようとしていることについてより多くの情報を与えることができれば、本当に役に立ちます。 –

+0

何をしようとしていますか? –

答えて

8

私たちがFTPについて話していない場合にのみ、File.Copyを使用できます。その後、

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"); 

を行うことができます。あなたは以下のコードを使用することができますFTPを使用している場合、その場合には、あなたは

以下のコードを使用することができますあなたが以下行うことができ、同じネットワーク上のフォルダ:あなたは以下を使用することができますHTTPのための

File.Copy(filepath, "\\\\192.168.1.28\\Files"); 

using(WebClient client = new WebClient()) { 
    client.UploadFile(address, filePath); 
} 

ソース:

Send a file via HTTP POST with C#

+0

申し訳ありませんマッシミリアーノここで "あなたはFTPについて話していない場合にのみFile.Copyを使用できます"あなたはhttpと言ってみませんか? – JMG

+0

私は私の答えを編集しました –

+0

ありがとう!!私はあなたのコードで試しています – JMG