2012年12月22日 星期六

上傳與下載檔案

在熟悉 Dropbox 的認證程序 (Authentication) 後,接著我們來學習如何上傳、條列與下載檔案。

你可以拿底下的範本來練習 (來自 Dropbox Python SDK Docs):

有關如何取得 App key 與 App secret,請參考「建立 app 取得 App key 與 App Secret」一文

上傳檔案

檔案的上傳很簡單:

put_file 這個 method 需要 2 個參數,第 1 個參數指定檔案在 Dropbox 上的存放路徑,第 2 個參數是一個 file object,也可以是 string。如果成功上傳,sample.txt 會被放在 app folder 或者 Dropbox 的根目錄下 (根據你的 app 的 access type 而定)。在 response 中,會有剛剛上傳的檔案的 metadata,內容會像這樣:

條列檔案或資料夾的 metadata

假設使用者 app folder 的檔案結構如下,裏面包含一個空的資料夾 Sample Folder 以及剛剛上傳的 sample.txt:

image

我們可以針對檔案或資料夾呼叫 metadata:

就會得到類似這樣的結果:

從 metadata 中你可以獲得很多資訊,例如完整的檔案路徑 (path),file sizes (bytes),上次修改日期 (modified) 等。

假如要知道資料夾有沒有變動,我們要自行保存並比較 hash。

下載檔案

檔案的下載也很簡單,只要呼叫 get_file_and_metadata:

get_file_and_metadata 會傳回兩個值,一個是檔案的資料,另一個是檔案的 metadata。你必須呼叫 .read() 才能取得檔案的內容。

總結

底下是本文的完整程式碼,使用之前記得先建一個 sample.txt,並且輸入你的 app ket, app secret 與 access type 。

參考資料

0 意見: