我最近開始使用google-cloud client,和我做了這個小例子(我省略/更改爲清晰起見東西):如何使用google-cloud客戶端將大於32MB的文件上傳到GCS?
<form id="testform" method="post" enctype="multipart/form-data">
<p>
<div>
<label for="fotos">Some file</label>
</div>
<div>
<input type="file" name="testfile">
</div>
</p>
<input type="submit" value="Submit">
</form>
from google.cloud import storage
class MyHandler(BaseHandler):
def get(self):
self.render("test.html")
def post(self):
file = self.request.POST["testfile"]
filename = file.filename # + TimeStamp
bucket = storage.Client().get_bucket(self.get_bucket_name())
blob = bucket.blob(filename)
blob.upload_from_string(data=file.file.read(),
content_type=file.type)
self.write(blob.public_url)
此代碼的工作只是在32MB東西很好,但它不能處理更大的文件,因爲他們通過應用程序而不是直接到GCS。我已經看到solutions使用Blobstore API,但那些都是舊的,Blobstore甚至不用於存儲數據(儘管Blobstore API仍然可以使用)。
所以我想知道,有沒有辦法解決這個使用谷歌雲客戶端?我還沒有看到在docs中創建上傳網址的方法。
JSON API聽起來像是一個很好的解決方案。所以我想我並不需要那個google-cloud客戶端。謝謝。 –
嗨,豪爾赫,你能指出我如何使用JSON API通過ajax上傳文件的方向。我整天都在閱讀文檔,但還沒有找到具體的例子。我只需要朝正確的方向輕推。乾杯 – Chez