c# FTP 到 FileZilla 服务器文件名保存问题

本文关键字:文件名 保存 问题 服务器 FileZilla FTP | 更新日期: 2023-09-27 18:30:55

每当我使用此代码时,它都会上传jpeg,但是jpegs名称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");

c# FTP 到 FileZilla 服务器文件名保存问题

尝试

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

WebRequestMethods.Ftp.UploadFile 是一个字符串,其值恰好是 STOR,因此编译器假定您正在使用客户端。上传文件(远程名称,本地名称)重载,这就是为什么您的文件被命名为 STOR

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

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

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

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