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

@sgmoore 回答了这个问题。您只需要正确使用方法:

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

第一个参数是远程文件名,第二个是本地文件的路径。

您还可以在 .net 中尝试其他一些 ftp 客户端实现(无论如何 FTP 在 .NET 标准库中的实现很糟糕),我使用过ftplib,它运行良好。

于 2012-04-12T08:40:25.207 回答
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 回答