0

このコードを使用するたびに jpeg がアップロードされますが、jpeg 名にはSTORサーバー上の拡張子がありません。

なぜこれが起こるのか、またはC#デスクトップアプリケーションからFileZilla FTPサーバーに保存するときにファイル名を変更する方法について何か考えはありますか??

これが基本的なコードです。名前は、罪のない人を保護するために変更されています ;)

WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
client.BaseAddress = "ftp://mysite.com";
client.UploadFile(WebRequestMethods.Ftp.UploadFile, "C:\mypics\pic1.jpg");
4

2 に答える 2

2

試す

client.UploadFile(remoteName, WebRequestMethods.Ftp.UploadFile , @"C:\mypics\pic1.jpg");

WebRequestMethods.Ftp.UploadFile は、その値がたまたま STOR である文字列であるため、コンパイラは client.UploadFile(remoteName, localName) オーバーロードを使用していると想定しているため、ファイルの名前は STOR です。

于 2012-04-12T08:55:20.940 に答える
2

@sgmoore が質問に答えました。メソッドを正しく使用するだけです:

client.UploadFile("pic1.jpg", "C:\mypics\pic1.jpg");

最初の引数はリモート ファイル名、2 番目の引数はローカル ファイルへのパスです。

.net で他のいくつかの ftp クライアントの実装を試すこともできます (いずれにせよ、FTP は .NET 標準ライブラリで不適切に実装されています)。私はftplibを使用しましたが、うまく機能しています。

于 2012-04-12T08:40:25.207 に答える