我用下面的代碼:谷歌雲存儲 - java的
GcsService gcsService = GcsServiceFactory.createGcsService();
GcsFilename filename = new GcsFilename(BUCKETNAME, fileName);
GcsFileOptions options = new GcsFileOptions.Builder()
.mimeType(contentType)
.acl("public-read")
.addUserMetadata("myfield1", "my field value")
.build();
@SuppressWarnings("resource")
GcsOutputChannel outputChannel =
gcsService.createOrReplace(filename, options);
outputChannel.write(ByteBuffer.wrap(byteArray));
outputChannel.close();
的問題是,當我嘗試存儲的視頻文件,我必須將文件存儲在其中的ByteArray可能會導致內存問題。
但我找不到任何接口來做同樣的流。
問題:
我應該擔心在AppEngine上SRV MEM的問題,或者是他們能夠保持1分鐘的視頻在MEM的?
是否可以使用流代替字節數組?怎麼樣?
我正在讀取的字節數爲
byte[] byteArray = IOUtils.toByteArray(stream);
我應該使用字節數組作爲真正的緩衝區,只是讀取塊並將它們上傳到GCS?我怎麼做?
注意,BLOB API不再被支持 - 我不認爲這個代碼會起作用。 –
這不是blob api。僅僅因爲你看到一個名爲BlobInfo的類並不意味着這是不受支持的blob api。我目前正在使用這個API來獲得大量的流量。請看這裏,並重新考慮您的downvote:http://googlecloudplatform.github.io/gcloud-java/0.2.0/index.html – depsypher