GAEにファイルをアップロードする場合、次のようにコードを使用できます。
//here creating a blob store service
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
//here declaring the datastore service
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
//creating entity
Entity emp = new Entity("Employee");
//set the property
emp.setProperty("First Name", fname);
emp.setProperty("Last Name", lname);
//storing the data in GAE
datastore.put(Employee);
これで、Googleクラウドストレージにファイルを同じようにアップロードする必要がある場合は、バケットを設定して、次のようにチャネルを開くことができます。
//Creating file service
FileService fileService = FileServiceFactory.getFileService();
//setting bucket name,object name & type
GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
.setBucket(BUCKETNAME)
.setKey(FILENAME)
.setMimeType("text/html")
.setAcl("public_read")
.addUserMetadata("myfield1", "my field value");
//creating the new writable file
AppEngineFile writableFile =fileService.createNewGSFile(optionsBuilder.build());
//opening the lock and writing channel
boolean lock = false;
FileWriteChannel writeChannel = fileService.openWriteChannel(writableFile, lock);
この後、Googleクラウドストレージにファイルを保存する方法がわかりません。この開発者ページのGoogleCloudStorage Java APIの概要を参照しましたが、ファイルのアップロードではなく、オブジェクトの読み取りと書き込みのみが表示されます。
Googleクラウドストレージにファイルをアップロードするためのアイデアを教えてください。
あなたの助けに感謝します。