Загрузить файл в appEngine действительно нужно - PullRequest
1 голос
/ 09 июля 2011

Я начал проект, это веб-приложение, которое позволяет миру слушать все мои личные песни.Пока что все песни, доступные на сайте, хранятся в войне / песнях.Тогда моя база данных хранит только путь к этому файлу, и это работает очень хорошо.

Я хотел создать веб-страницу, доступную только для администратора (в основном я: D), чтобы загружать мои песни в это место, поэтому мне не нужно развертывать весь проект только для добавления песни ...И я сейчас читаю, что это невозможно в движке приложения?Я не думаю, что хранить песни в базе данных - это хорошая идея?

Могу ли я поделиться своими соображениями по моей проблеме?Большое спасибо!

Кроме того, если движок приложения не подходит для моей цели, я хотел бы найти какое-то хорошее место для размещения моего java-приложения ... это выглядит довольно редко!

Еще раз спасибо ..

Ответы [ 2 ]

6 голосов
/ 09 июля 2011

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

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

И вы можете установить ограничение web.xml, чтобы запретить доступ к вашему сайту:

<security-constraint>
    <web-resource-collection>
        <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>

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

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

Я действительно удивлен, что IBM является таким большим поклонником Google.Я нашел довольно много опубликованной IBM литературы по технологиям Google.Хммм .... почему?

В любом случае,

  1. Что хорошо для IBM, хорошо для меня: http://www.ibm.com/developerworks/java/library/j-gaestorage/

  2. Чтоэто хорошо для Google это тоже хорошо для меня.Google не хочет, чтобы вы хранили ваши файлы в «файловой системе».Они хотят, чтобы вы использовали их карту с ограниченным хранилищем.

Вы ошибаетесь - технология репозитория Google превосходит ваше восприятие "файловой системы".Прежде всего, вам необходимо ознакомиться с принципами ОС, особенно в разделе «Файловая система».Файловая система - это карта для BLOB-объекта.

GAE - это облако.«CLOUD» - ни настольный компьютер, ни веб-сервер, ни сервер баз данных, ни циклический перебор нескольких дискретных серверов.Облако против сервера сродни аналогу против дискретных микросхем, совокупный интеллект континуума (некоторые люди «ошибочно» называют это нечеткой логикой) против дискретной логики «если тогда еще», квантовой динамики против ньютоновской механики.

Континуум (или вхотя бы то, что пытается сделать облако).В континууме (или попытке в континууме) вы не можете хранить свои «файлы».

Вы устарели.Нет, извините, вы не устарели, поскольку существует множество передовых технологий, не связанных с облаком.В любом случае, все, что вы читаете о традиционных «базах данных» и «файловых системах», не может применяться к облачному континууму.Смена ресурсов континуума в облаке приводит к изменению потребителей и клиентов.

Облачное хранилище Google - это не традиционные базы данных.Они спроектированы и настроены для изменчивых игроков.

Что такое облако?Когда вы совершаете телефонный звонок или цифровое соединение из Канзас-Сити, Миссури, в Каир, Египет, маршрутизаторы ищут оптимальный маршрут для вас.Лучший маршрут для вас?Нет, но лучший маршрут, который максимизирует их прибыль.Это может происходить через подводные кабели, спутники, неизведанные домены и т. Д., Которые постоянно меняются и изменяются.Это может занять более длительный маршрут в течение нескольких минут вашего разговора / соединения, потому что это было дешевле.Это старая добрая терминология, называемая «виртуальная».

Вы не можете зависеть от традиционной «файловой системы» для такого изменчивого виртуального мира.Вы можете организовать крестовый поход / джихад и настаивать на том, что некоторые обманщики проводят кампании по разрушению глобальной виртуальной финансовой системы, настаивая на том, чтобы денежные ценности были подкреплены «настоящим» золотом, напрасно.

Будь то хранилище Google, bigtableAmazon простая база данных и т. Д., Все они похожи на карту «файловой системы», за исключением того, что они настроены на работу в изменчивом облаке.Итак, наслаждайтесь облаком и храните ваши «файлы» как активы в облаке.

Люди эволюционируют вместе с остальной частью Вселенной.Эволюция - это Голос Б-га, и сейчас Облако - это следующий этап эволюции человека с момента появления печатного станка.Вы будете ассимилированы - сопротивление бесполезно.Вы хотите, чтобы ваши файлы были поддержаны "настоящими золотыми" серверами?Даже «золото» является производной ценностью и является виртуальным активом, подобно стоимости Моны Лизы.Как и восприятие безопасности / стабильности у вас «настоящих» файловых систем.

...