2012-04-01 8 views
1

次のスクリプトを使用してFTP経由でファイルをアップロードしようとしています。ファイルはFTPサーバーにアップロードされますが、ファイル名は常にImagesと呼ばれ、exenchionはありません。FTPファイルのアップロードに関する問題 - ファイル名がありません

おそらく何か私は逃しましたが、誰かが助けになる間違っていることを知っていればそれは分かりません。あなたはファイル名の変数を使用していないので、中に渡されるパスが

ftp://cp.domainname.co.uk/Images

ある

string filename = Path.GetFileName(source); 
string ftpfullpath = ConnectionDetails._ftpurl; 
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath); 

public static string _FTPusername = "xx"; 
public static string _FTPPassword = "xxxxx"; 
public static string _FTPServerAddress = "cp.domainname.co.uk"; 
public static string _ftpurl = "ftp://cp.domainname.co.uk/Images"; //= "ftp://cp.domainname.co.uk/Images"; 

try 
{ 
    string filename = Path.GetFileName(source); 
    string ftpfullpath = ConnectionDetails._ftpurl; 
    FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath); 
    ftp.Credentials = new NetworkCredential(ConnectionDetails._FTPusername, ConnectionDetails._FTPPassword); 

    ftp.KeepAlive = true; 
    ftp.UseBinary = true; 
    ftp.Method = WebRequestMethods.Ftp.UploadFile; 

    FileStream fs = File.OpenRead(source); 
    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(); 
} 
catch(Exception ex) 
{ 
    throw ex; 
} 
+2

は、私はあなたがどこでもあなたのファイル名の変数を使用して表示されないのですか? –

答えて

0

問題が見つかりました - 単純な少年少年の誤りでした。

public static string _ftpurl = "cp.domainname.co.uk/Images

されている必要があります:

public static string _ftpurl = "cp.domainname.co.uk

+0

私はあなたがImagesディレクトリに手動でFTPできると言っていますが?私は、少しばかりではなくて、あなたに無駄な努力を惜しまなかったように思えます。あなたが最後にエラーを見つけてうれしいです。 –

0

問題は、これらの3行であるように見えるでしょう次のように試してみてください:

string ftpfullpath = ConnectionDetails._ftpurl + "/" + filename; 
+0

ダニエルに感謝します。私はあなたが正しい領域にいると思うが、今私は "リモートサーバーがエラーを返しました:(550)ファイルが利用できません(ファイルが見つかりません、アクセス権がありません)。 FTPサーバ上のローカルファイルを探しているようです – Steve

+0

あなたのFTPサーバにImagesディレクトリがありますか? –

+0

私はパスが間違っているか、ディレクトリにアクセスできないと推測しています。 ftpクライアントでImagesディレクトリに手動でftpできますか? –