Загрузка и загрузка файла в JSP [закрыто]

просто измените строку в MainActivity

intent.putExtra(MainActivity.EXTRA_MESSAGE,"your_msg");

с

intent.putExtra("EXTRA_MESSAGE","your_msg");

, потому что это

 intent.putExtra("KEY","VALUE");

не будет изменений в DisplayMessageActivity

String message = intent.getStringExtra("EXTRA_MESSAGE");
-11
задан Smi 26 August 2012 в 09:03
поделиться

1 ответ

Во-первых, если начинать вопрос с «Я хочу код», здесь нет большого полезного ответа. Также см. this .

Что касается вашего актуального вопроса / проблемы «Как загружать и скачивать файлы с помощью JSP?»: Для начала, чтобы выбрать файл для загрузки с использованием JSP, вам понадобится как минимум HTML элемент, который будет отображать поле просмотра файла. Как указано в спецификации HTML-форм , вам необходимо установить метод запроса на POST , а кодировку запроса на multipart / form-data в родительском Элемент

.

Поскольку вышеупомянутая кодировка запроса по умолчанию не поддерживается API сервлетов, вы ничего не увидите в карте параметров запроса. Чтобы получить загруженный файл и другие параметры запроса, вам необходимо самостоятельно проанализировать InputStream из HttpServletRequest . Но, к счастью, есть широко используемый API, который может избавить вас от драгоценной и утомительной работы: Apache Commons FileUpload . На их домашней странице вы можете найти множество примеров кода и важные советы и рекомендации в разделах Руководства пользователя и Часто задаваемые вопросы . Прочтите их внимательно. По сути, вам просто нужно получить InputStream из объекта FileItem и записать его в любой OutputStream на свой вкус, используя обычный Java IO путь.

А теперь скачиваем файл: создать сервлет , который принимает идентификатор файла в качестве параметра запроса или pathinfo и использует обычный способ ввода-вывода Java для чтения файла в InputStream и записывает его в OutputStream из HttpServletResponse . Вам необходимо установить как минимум заголовок запроса Content-Disposition для вложения , в котором будет отображаться диалоговое окно Сохранить как . Наконец, просто назовите этот Сервлет в ссылке или кнопке для загрузки.

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

Вам необходимо установить как минимум заголовок запроса Content-Disposition для вложения , в котором будет отображаться диалоговое окно Сохранить как . Наконец, просто назовите этот Сервлет в ссылке или кнопке для загрузки.

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

Вам необходимо установить как минимум заголовок запроса Content-Disposition для вложения , в котором будет отображаться диалоговое окно Сохранить как . Наконец, просто назовите этот Сервлет в ссылке или кнопке для загрузки.

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

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

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

5
ответ дан 9 September 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: