10
我需要將目錄上傳到我的應用程序上的FTP服務器,並計劃使用 使用libcurl。我發現沒有直接的方式來上傳一個包含多個 文件的目錄,這對我來說很有意義。然而,我不能在 上傳許多文件。libcurl - 保持連接「打開」上傳多個文件(FTP)
如果我得到目錄中的文件列表,我可以在一個循環中上傳它們。 選項CURLOPT_FTP_CREATE_MISSING_DIRS
可能會幫助子目錄, 但如果我想知道是否我錯過了這一點或這將有 任何嚴重的缺點。
主要問題是:如何保持連接「打開」?重新連接 每個文件可能意味着額外的不必要的開銷。
理想情況下,我想繼續使用簡單的界面。但如果另一個接口 在這種情況下提供更好的支持,我會使用它。
CURLcode ret;
CURL *handle = curl_easy_init();
/* Connect to FTP server using *
* the given username and password */
for ({each file}) {
curl_easy_setopt(handle, ..., ...);
...
ret = curl_easy_perform(handle);
/* Analyse return code */
curl_easy_reset(handle);
}
/* Disconnect from server */
curl_easy_clenup(handle);
非常感謝Stenberg先生,很榮幸能收到您的回覆!如果我可能要求進一步澄清,在這種情況下是否需要'curl_easy_reset()'?手冊頁說活動連接保存在句柄中,但是手動重新設置選項(在循環中)就足夠了嗎? – sidyll
您可以按照您認爲最適合您的代碼的方式進行操作。重置不會終止連接緩存。如果您願意,可以手動重新設置選項。 –
再次感謝,並祝賀這項出色的工作。最好的祝願 – sidyll