Подтвердить что ты не робот

Поддерживает ли Google App Engine создание файлов и папок на сервере?

Я знаю, что Google App Engine предлагает свободное пространство, но мне интересно, хранит ли он только данные в своей базе данных или позволяет мне создавать файлы и каталоги на стороне сервера для хранения моих данных? Например, можно ли использовать следующий метод для сохранения файла?

  public static void saveFile(String File_Path,StringBuffer Str_Buf,boolean Append)
  {
    FileOutputStream fos=null;
    BufferedOutputStream bos=null;

    try
    {
      fos=new FileOutputStream(File_Path,Append);
      bos=new BufferedOutputStream(fos);
      for (int j=0;j<Str_Buf.length();j++) bos.write(Str_Buf.charAt(j));
    }
    catch (Exception e) { e.printStackTrace(); }
    finally
    {
      try 
      {
        if (bos!=null)
        {
          bos.close();
          bos=null;
        }
        if (fos!=null)
        {
          fos.close();
          fos=null;
        }
      }
      catch (Exception ex) { ex.printStackTrace(); }
    }
  }
4b9b3361

Ответ 1

Вы можете читать файлы из своего собственного проекта - Вы не можете писать в файловую систему

из FAQ...

Почему я не могу записать этот файл?

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

Приложение App Engine не может:

  • записать в файловую систему. Приложения должны использовать хранилище данных App Engine для хранения постоянных данных. Разрешено чтение из файловой системы и доступны все файлы приложений, загруженные с помощью приложения.

  • открыть сокет или напрямую обратиться к другому хосту. Приложение может использовать служебную программу URL-адреса URL-адреса App Engine для передачи HTTP и HTTPS-запросов другим хостам на портах 80 и 443 соответственно.

  • порождает подпроцесс или поток. Веб-запрос к приложению должен обрабатываться одним процессом в течение нескольких секунд. Процессы, которые занимают очень много времени для ответа, завершаются, чтобы избежать перегрузки веб-сервера.

  • делать другие виды системных вызовов.

Ответ 2

Нет, файл ввода/вывода не разрешен. вы можете использовать капли для хранения изображений или текста.

Ответ 3

Новая информация. Ответ: Да, но вы должны использовать их облачное хранилище для доступа к записи. Вы не можете использовать обычные файлы для своей цели.

https://developers.google.com/appengine/docs/java/googlecloudstorageclient/

Он также имеет API Python, а также API RESTful.

Ответ 4

Я думаю, что следует упомянуть, что запись в blobstore с использованием API-интерфейсов теперь устарела и что Google переходит в облачное хранилище.