Загрузка файла с помощью Google App Engine

Я разрабатываю приложение на движке приложений Google с помощью gwt. Для этого приложения требуется хранить файлы (например: pdf, msword, .zip и т. д.). Я пытался использовать amazon S3 в движке приложения Google. Но это не удается, потому что движок приложения не позволяет мне писать код обработки файлов, если приложение работает на движке приложений Google. Еще один вариант, который я пробовал, заключался в использовании Blobstore, который ограничивал хранение файлов размером менее 1 МБ на вызов API. Есть ли другой способ хранить большие файлы размером не менее 10 МБ с помощью Google App Engine?


person Buddhika.jm    schedule 18.07.2011    source источник


Ответы (2)


Возможные решения:

  1. API Blobstore ограничен 1 МБ на вызов API. Вы можете разделить файл на несколько вызовов: Ограничение квоты в 1 МБ для объекта хранилища больших двоичных объектов в Google App Engine?

  2. Используйте хранилище Google и его API.

person Peter Knego    schedule 18.07.2011
comment
Спасибо, Питер. Есть ли какой-нибудь пример или руководство, показывающее метод доступа к Google Storage с помощью java? Это будет большим подспорьем для меня. еще раз спасибо. - person Buddhika.jm; 18.07.2011

Когда я храню файлы с помощью GAE, я использую следующий подход:

1 На моей странице JSP создайте форму с файловым вводом:


    <form name="uploadFileForm" enctype="multipart/form-data" method="post">
        <input type="file" name="fileData"/>
    </form>

2 Напишите сервлет/контроллер, который считывает двоичные данные из запроса

3 Запишите эти данные в DataStore (ограничено 1 МБ) или в BlobStore (один вызов API ограничен 1 МБ, но общий размер файла может достигать 2 ГБ). Для файлов размером> 1 МБ вам нужно сделать несколько вызовов API.

person alexey28    schedule 28.04.2012