Хранение загруженных изображений в Google App Engine с Java - PullRequest
5 голосов
/ 09 июля 2009

Я пытаюсь написать веб-приложение на Java в Google App Engine. Я хочу иметь возможность загружать и обслуживать изображения из приложения, но только что понял, что в хранилище данных есть ограничение в 1 МБ. Это немного слишком мало для приличных фотографий. Есть ли альтернативный способ предложить это? Возможно, хранить их как статический контент, а не в хранилище данных, но, похоже, для этого нет API.

Ответы [ 4 ]

4 голосов
/ 10 июля 2011

Теперь это возможно на GAE. Просто вы должны хранить свои файлы в Blobstore . Вы можете загружать свои файлы так:

<body>
<form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data">
    <input type="file" name="myFile">
    <input type="submit" value="Submit">
</form>

А затем подать файл из сервлета:

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException {
    BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
    blobstoreService.serve(blobKey, res);
2 голосов
/ 09 июля 2009

Вы не можете записывать в файловую систему в App Engine, поэтому статический контент пока отсутствует - но API для хранения и обслуживания больших двоичных объектов находится на дорожной карте. В то же время лучше всего разбить файл на куски и сохранить их в хранилище данных или использовать внешний сервис, такой как S3.

1 голос
/ 09 июля 2009

Сегодня нет простого пути, но он может измениться позже.

Лучшее, что вы можете сделать прямо сейчас, - это проголосовать (отметить) запрос на добавление поддержки файловой системы Google для appengine в их системе отслеживания проблем:

0 голосов
/ 11 января 2015

Теперь Google App enigne предоставляет API изображений, который отличается от API Blobstore. это улучшено и специально для изображений. Вы можете попробовать это.

https://cloud.google.com/appengine/docs/java/images/

...