Как сохранить файл в виде значений BLOB-объектов с помощью файловой службы в облаке Google

С помощью документа Google Запись файлов в хранилище BLOB-объектов

Я могу сохранить файл в Google Cloud следующим образом:

 //My servlet Class
  private StorageService storage = new StorageService();
  FileService fileService = FileServiceFactory.getFileService();
  AppEngineFile file = fileService.createNewBlobFile(mime, fileName);
  boolean lock = true;
  FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
  byte[] b1 = new byte[BUFFER_SIZE];
  int readBytes1;
  storage.init(fileName, mime); // Calling my Java Class Here
  while ((readBytes1 = is1.read(b1)) != -1) {
  writeChannel.write(ByteBuffer.wrap(b1, 0, readBytes1));
  storage.storeFile(b1, readBytes1);}
  writeChannel.closeFinally();

У меня есть класс хранения java для хранения данных в облаке Google, который находится ниже здесь,

//My Storage Class 
  public class StorageService {
  public static final String BUCKET_NAME = "MyBucket";  
  public void init(String fileName, String mime) throws Exception {
  GSFileOptionsBuilder builder = new GSFileOptionsBuilder().setAcl("public_read").setBucket(BUCKET_NAME).setKey(fileName).setMimeType(mime); 
  AppEngineFile writableFile = fileService.createNewGSFile(builder.build());
boolean lock = true;
writeChannel = fileService.openWriteChannel(writableFile, lock);
bos = new BufferedOutputStream(Channels.newOutputStream(writeChannel));
public void storeFile(byte[] b, int readSize) throws Exception { 
 bos.write(b,0,readSize);
bos.flush();
}}

Из приведенной выше ссылки я могу сохранить файл непосредственно в облаке Google. Но мне нужно сохранить эти файлы как значения больших двоичных объектов, используя файловую службу.

Может ли кто-нибудь предложить мне идею.

ваша помощь будет оценена.


person Sabarish    schedule 25.01.2013    source источник
comment
Ваша жизнь станет намного проще, если вы создадите файл в Google Cloud Storage, а не в BlobStore — developers.google.com/appengine/docs/java/googlestorage/   -  person fejta    schedule 29.01.2013
comment
да, я понимаю, у меня есть сомнения, связанные с этим, вы можете увидеть эту ссылку... stackoverflow.com/questions/14577801/   -  person Sabarish    schedule 29.01.2013
comment
Каковы ваши сомнения? Что ты пытаешься сделать?   -  person fejta    schedule 31.01.2013
comment
я пытаюсь сохранить файлы как значения BLOB-объектов без использования createUploadURL() в HTML-форме. Я должен загрузить файл как обычную загрузку файла mutlipart, и мне нужно сохранить файл как значения blob.   -  person Sabarish    schedule 31.01.2013


Ответы (1)


Вы добавили учетную запись службы appengine в проект консоли Google API? Если вы этого не сделали, вам следует подготовить проект консоли Google API.

  1. Подтвердите свою учетную запись службы appengine на вкладке «Настройки приложения» в консоли администрирования GAE.
  2. Создайте новый проект в Google API Console. или Open API Console Project для существующей корзины.
  3. Включите «Облачное хранилище Google» на вкладке «Сервисы».
  4. Добавьте учетную запись службы appengine в качестве команды на вкладке «Команда» консоли API.
person user1206245    schedule 25.01.2013