2012-02-14 100 views
0

我想創建一個應用程序在谷歌應用程序引擎上使用python來處理文件上傳並將它們存儲到blobstore中。上傳到Blobstore而不使用blobstore.create_upload_url

但是,目前blobstore需要使用blobstore.create_upload_url來創建文件上傳表單帖子的url。由於我從其他服務器上傳,我的問題是,是否可以將文件上傳到gae blobstore而不使用blobstore.create_upload_url中的動態url?

僅供參考,在我從另一臺服務器上傳之前,我需要從python腳本請求一個上傳URL,但這會造成額外的延遲,這不是我想要的。我還讀到了使用http://code.google.com/intl/en/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore中所謂的「類文件API」,但文檔似乎沒有涵蓋上傳的部分。

另外,以前我試圖使用數據存儲上傳文件,但最大文件大小爲1MB,這不足以滿足我的情況。請提醒,謝謝。

回答

5

將文件寫入blobstore的方法有兩種:1)使用create_upload_url,併發布帶有文件附件的表單; 2)直接使用API​​寫入Blobstore(對於大型文件使用解決方案here )。

如果你想遠程服務器能夠上傳,你有相同的兩個選擇:

1)遠程服務器首創請求一個URL。你有一個處理程序只是返回這樣一個URL。通過這個URL,遠程服務器會發出一個正確編碼的POST消息並將其發佈到URL。

2)您發送的文件數據作爲HTTP參數的處理程序,以您的應用程序引擎服務器,它使用Blob存儲區寫入API來然後直接寫入文件。請求大小爲limited到32MB,這樣你就可以用這個方法寫的最大文件大小將根據稍微定。

+0

但是,如果我使用的方法2,會是怎樣的上傳大小限制? – Tony 2012-02-16 03:39:39

+0

更新與限制的辦法#2。 – mjibson 2012-02-16 17:46:57

相關問題