簡體   English   中英

文件未通過python腳本上傳到保管箱

[英]File not uploading to dropbox via python script

這個問題只是另一個問題的更深入的解釋。

我將代碼放在github上,因為它相當不錯。 不便之處,敬請原諒https://github.com/lonehangman/mccdropdav/blob/master/views.py

從第100行開始是問題開始的地方。 在過去的一周中,我嘗試通過Google App Engine(GAE)上設置的webdav將頁面上的文件(在iPad上)上載到保管箱,但失敗了。

我可以查看我的保管箱的內容,但是當我從計算機或iPad下載或上傳時,總是出現錯誤。 我檢查了日志,發現第110行存在關鍵錯誤,因此我嘗試通過打印meta_entry來解決此問題,然后我意識到這是不存在的資源。
(因此, # make a fake Resource to ease our exporting 。第106行)。 這個問題讓我迷惑了好幾天,但是后來我的朋友告訴我刪除第152行root.append(self.export_meta_entry(metadata,href=self.request.path)) # first response's href contains exactly what you asked for (relative path)
這樣做可以消除關鍵錯誤,但是仍然不能讓我上傳到保管箱。 iPad告訴我它正在上傳,但是我檢查了我的保管箱,但看不到任何新文件。 我也無法下載文件。 日志似乎沒有撿起來。

任何人都可以解釋並嘗試獲得幫助(如果您不打算提供幫助,請不要費心編寫“去別的地方”或“學習python noob”之類的東西。)

如果需要更多信息,請詢問。 在寫這篇文章的時候我很累,所以似乎有些倉促。

不是看整個應用程序,而是看您的put方法(調用Dropbox put_file

def put(self):
        path = '/' + self.request_path
        self.client.put_file(ROOT, os.path.dirname(path), self.request.body_file, file_name=os.path.basename(path))
        self.response.set_status(201,'Created')

Dropbox APIput_file API教程示例

f = open('working-draft.txt')
response = client.put_file('/magnum-opus.txt', f)
print "uploaded:", response

以及put_file文檔說,put_file的第一個參數是保管箱樹中文件的完整路徑(包括文件名),第二個參數是類似文件的對象。

所以類似的東西可能更好

self.client.put_file(path, self.request.body_file)

如您所見,您可以查看put_file的返回值以獲取有關put_file調用中發生的情況的更多信息。 您可以根據Dropbox的響應來調整響應代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM