2013-07-18 38 views
1

我使用libcurl,使用一些簡單的示例代碼將文件上傳到FTP。該文件已成功上傳,但如果使用'#'字符,則我選擇的名稱將被刪除。libcurl:ftp上傳的文件名在#字符後切斷

我調用了REMOTE_URL設置爲「ftp://myftp:[email protected]/ABC#EFG.dat」的curl_easy_setopt(curl,CURLOPT_URL,REMOTE_URL),但是我在FTP上看到的輸出文件名是「ABC」(沒有擴展名)。 #字符定位後,名稱總是被切斷。

我正在使用libcurl 7.21.7.0。

+1

不太確定..只是一個想法,你應該使用URL編碼## –

+0

這工作!我用ABC%23EFG.dat代替,現在在FTP上顯示爲ABC#EFG.dat。現在我們如何將您的評論轉換爲答案? :) – Warpin

+0

很高興聽到它的工作。 –

回答

3

解決方法是將URL編碼爲#%23。因爲#標識了fragment identifier的開頭。

From curl docs:

與7.20.0版開始,URI的片段部分將不被髮送作爲路徑,這是以前的情況下的一部分。