2012-04-12 92 views
0

每當我使用此代碼它上傳JPEG,但JPEG文件名稱爲STOR在服務器上沒有擴展名。C#FTP到的FileZilla服務器的文件名保存問題

任何想法,爲什麼發生這種情況或如何從我的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"); 

回答

2

嘗試

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

WebRequestMethods.Ftp.UploadFile是一個字符串,其值正好是STOR所以編譯器是假設你正在使用的client.UploadFile(遠程名稱,localName創建)重載這就是爲什麼你的文件名爲STOR

+0

這就是真正的答案! – 2012-04-12 10:44:51

+0

我被撕成了哪個答案是最好的。你的回答是正確的,解釋了爲什麼會發生,以及如何解決它。 – GregH 2012-04-13 12:33:30

2

@sgmoore回答了這個問題。您需要正確使用方法:

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

第一個參數是遠程文件名,第二個是到本地文件的路徑。你也可以在.net中嘗試一些其他的ftp客戶端實現(無論如何,FTP在.NET標準庫中的實現都很糟糕),我已經使用了ftplib,它的工作很好。

+0

很好的答案!我必須先檢查誰回答是公平的。 如果可以的話,我會給你檢查! – GregH 2012-04-13 12:35:58

+0

@GregH沒關係,我完全同意sgmoore是第一個給出正確答案的人,無論如何它畢竟只是一些虛擬分數,我沒有把它當回事:) – 2012-04-13 14:47:14

相關問題