библиотека составных частей Java - PullRequest
2 голосов
/ 06 января 2011

Существует ли многокомпонентная библиотека POST, которая обеспечивает тот же эффект, что и процедура POST из HTML-формы?например - загрузить файл программным способом на Java вместо загрузки файла с помощью HTML-формы.А на стороне сервера он просто слепо ожидает, что запрос со стороны клиента будет составным POST-запросом, и анализирует данные соответствующим образом.

Кто-нибудь пробовал это?

В частности, я пытаюсь выяснить, могу ли я смоделировать следующее с помощью Java

. Пользователь создает большой двоичный объект, отправляя HTML-форму, которая включает одно или несколько полей ввода файла.Ваше приложение устанавливает blobstoreService.createUploadUrl () в качестве пункта назначения (действия) этой формы, передавая функции URL-путь обработчика в вашем приложении.Когда пользователь отправляет форму, браузер пользователя загружает указанные файлы непосредственно в Blobstore.Blobstore переписывает запрос пользователя и сохраняет данные загруженного файла, заменяя данные загруженного файла одним или несколькими соответствующими ключами BLOB-объектов, а затем передает переписанный запрос обработчику по URL-адресу, который вы указали в blobstoreService.createUploadUrl ().Этот обработчик может выполнять дополнительную обработку на основе ключа BLOB-объекта.Наконец, обработчик должен возвращать ответ перенаправления только для заголовков (301, 302 или 303), обычно перенаправление браузера на другую страницу, указывающее состояние загрузки BLOB-объекта.

Set blobstoreService.createUploadUrl как действие формы, передавая путь к приложению для загрузки после завершения POST формы.

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

Обратите внимание, что именно так будет выглядеть форма загрузки, если она будет создана как JSP.Форма должна содержать поле для загрузки файла, а для типа формы должно быть указано multipart / form-data.Когда пользователь отправляет форму, POST обрабатывается API Blobstore, который создает BLOB-объект.API также создает информационную запись для большого двоичного объекта и сохраняет ее в хранилище данных и передает перезаписанный запрос приложению по указанному пути в качестве ключа большого двоичного объекта.

Ответы [ 2 ]

0 голосов
/ 06 января 2011

Полная и де-факто стандартная реализация HTTP (включенная, например, в платформу Android) вы найдете по адресу Apache httpcomponent

0 голосов
/ 06 января 2011

Вам не нужна библиотека;это возможно с помощью стандартных классов Java ( пример ).

На стороне сервера вы реализуете решение Java-сервлета, которое делает анализ параметров HTTP-запроса очень простым.

...