簡體   English   中英

Google App Engine-將Blobstore API與Google Cloud Storage結合使用

[英]Google App Engine - Using Blobstore API with Google Cloud Storage

我必須存儲大小在1MB以北的文件,並且Google App Engine建議我將它們存儲在Google Cloud Storage中。 應用引擎BlobProperty不適合。

建議將Blobstore API與Google Cloud Storage結合使用,建議使用create_upload_url函數的gs_bucket_name參數。

我嘗試過這個。

gcs_upload_url = blobstore.create_upload_url('/myupload', gs_bucket_name='bucketname.appspot.com/')

我為POST獲得的結果URL不是/myupload ,它有點像

<form action="http://myapp.appspot.com/_ah/upload/XXXXXXXXXXX7NNN-XXXXYYY/" method="post" enctype="multipart/form-data">

我已經更改了/ upload /之后的部分,但要點是,它顯然錯過了創建正確的上傳URL的過程,我的處理程序可以識別該URL。

將create_upload_url與gs_bucket_name結合使用並獲得用於處理帖子的正確URL的正確方法是什么?

顯然,官方文檔在這里沒有幫助。

您在create_upload_url函數中傳遞的路徑是success_path。 請參閱下面的說明。

在將與表單一起提交的文件上載到Blobstore之后,將處理上載請求的請求處理程序的URL路徑。

將文件上傳到BlobStore或Google Cloud Storage后,App Engine會調用success_path。

當用戶提交上傳Web表單時,如果您使用上傳的數據而不是Blobstore,則上傳的數據將直接發送到Blobstore或Google Cloud Storage。 (Google Cloud Storage需要gs_bucket_name參數。)Blobstore重寫傳入請求以刪除上載的數據(MIME部分主體)並添加Blobstore密鑰(作為MIME部分中的標頭),然后將重寫的請求傳遞給應用程序與指定給create_upload_url()作為成功路徑的URL路徑關聯的處理程序。 該路徑上的處理程序可以處理表單的其余部分。

此功能提供的URL旨在用作您上載表單的操作。 您提供的路徑類似於上載后處理程序。

那是正確的方法。 上傳網址由AppEngine本身處理:它將接受文件上傳,然后直接調用您自己的處理程序。

暫無
暫無

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

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