1
使用xe7休息客戶端我能夠進行身份驗證並獲取文件列表,帳戶信息等所有類型的信息。 我如何上傳和下載有進度指示的文件? 上傳,如果有使用/chunked_upload使用/files_put(最大文件大小150MB)小文件和大一些例子從 Dropbox APIdelphi xe7使用其餘客戶端上傳/下載dropbox文件並顯示進度
這將是非常有益的謝謝!
使用xe7休息客戶端我能夠進行身份驗證並獲取文件列表,帳戶信息等所有類型的信息。 我如何上傳和下載有進度指示的文件? 上傳,如果有使用/chunked_upload使用/files_put(最大文件大小150MB)小文件和大一些例子從 Dropbox APIdelphi xe7使用其餘客戶端上傳/下載dropbox文件並顯示進度
這將是非常有益的謝謝!
你應該提供任何你有問題的代碼。不要指望有人爲你做這份工作。
爲了讓您至少有一些提示:
您將使用IdHTTP根據您已經提到過的文檔發送PUT請求。不要忘記用REST客戶端的登錄信息添加標題「Authorization」。
IdHTTP.Put('https://api-...', FFileStream, FResponseStream);
這會阻止你的主線程(UI),所以如果你想上傳/下載,並取得進展,你必須使用一個單獨的線程 - 所以在「工作」過程中,將首先創建一個TThread類,運行上傳/下載。
現在你必須處理進展。您可以在IdHTTP組件的OnWork事件中獲取它。你會將這個狀態從線程傳遞給主線程。不要忘記正確同步此調用 - 您可以使用IdNotify。
谷歌會幫助你所有這些基本的東西。然後返回並描述任何問題。
當然,我不指望完整的解決方案!你似乎也使用一個單獨的indy http客戶端組件來檢查進度。我問自己,爲什麼提供RESTClient組件不是實現上傳和下載進度的必要機制... – ramses
您可以深入挖掘並在REST客戶端(請求)中使用IdHTTP - YourRESTRequest.Client.HTTPClient.Peer.GetObject作爲TIdCustomHTTP。 ..但我不知道是否有可能安全地使用它 – smooty86
我還發現,其餘客戶端「提供」一個HTTP客戶端,但不是一個完全部署爲indy的。沒有任何事件可以用於例如顯示進度 – ramses