#java #google-app-engine #gwt #gxt
#java #google-app-engine #gwt #gxt
Вопрос:
Я пытаюсь выполнить запись в файл в Google appengine, но он выдает сообщение об ошибке java.io.FileOutputStream is not supported by Google App Engine's Java runtime environment
несмотря на то, что я импортировал
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
Ответ №1:
Ну, это не ошибка компилятора Java. Этот класс является ограниченным API в Google App Engine, вам не разрешено его использовать.
Прочитайте о среде выполнения GAE Java и ограничениях здесь:http://code.google.com/appengine/docs/java/runtime.html
Наиболее близким к хранилищу файлов в GAE является API Blobstore:http://code.google.com/appengine/docs/java/blobstore /
Если вам нужно создавать файлы в code, GAE — неподходящая платформа для вас.
Комментарии:
1. спасибо, Стрелок, возможно ли загрузить файл на другой ftp-сервер с компонентами gwt или gxt во внешнем интерфейсе??
2. Нет, вы не можете открыть какое-либо соединение с сокетом, кроме как с помощью службы выборки URL по HTTP / HTTPS для этих диапазонов портов: 80-90, 440-450, 1024-65535.
3. Я не уверен, каковы ваши требования, но вот как вы записываете в хранилище больших двоичных объектов code.google.com/appengine/docs/java/blobstore /…
4. еще раз спасибо, сэр, я хочу загрузить файл на другой сервер, используя ftp, а не GAE
Ответ №2:
Вы пробовали использовать java.io.ByteArrayOutputStream вместо FileOutputStream?
Это должно позволить вам использовать ваши внешние библиотеки, которым требуются файлы, но которые все еще работают в белом списке GAE JRE
Комментарии:
1. в любом случае, спасибо, сэр, я решил эту проблему, сменив сервер. 🙁
Ответ №3:
Платформа GAE разрешает доступ только на чтение к файловой системе в пределах области действия файлов приложения. Если вам вообще нужно что-то написать, Datastore и Blobstore — это то место, куда можно писать!
Комментарии:
1. в любом случае, спасибо, сэр, я решил эту проблему, сменив сервер. 🙁