【问题标题】:c# FTP to FileZilla Server file name save issuec# FTP到FileZilla Server文件名保存问题
【发布时间】:2012-04-12 18:46:21
【问题描述】:

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

【问题讨论】:

    标签: c# filezilla


    【解决方案1】:

    试试

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

    WebRequestMethods.Ftp.UploadFile 是一个字符串,其值恰好是 STOR,因此编译器假设您正在使用 client.UploadFile(remoteName, localName) 重载,这就是您的文件被命名为 STOR 的原因

    【讨论】:

    • 我对哪个答案是最好的感到困惑。您的回答是正确的,解释了它发生的原因以及如何解决它。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 很好的答案!为了公平起见,我必须检查谁先回答。如果可以的话,我也会给你支票!
    • @GregH 没关系,我完全同意 sgmoore 是第一个给出正确答案的人,反正这只是一些虚拟分数,我没有那么认真:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多