Я хочу, чтобы загрузить изображение, используя JSP Servlet и EJB 3.0Как загрузить изображение с помощью JSP -Servlet и EJB 3.0
ответ
Для начала, чтобы выбрать файл для загрузки с помощью JSP вы должны по крайней мере HTML <input type="file">
элемента который отобразит поле просмотра файла. Как указано в HTML forms spec, вам необходимо установить способ запроса POST
, а кодировку запроса - multipart/form-data
в родительском элементе <form>
.
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
Поскольку вышеупомянутый запрос кодирования по умолчанию не поддерживается в Servlet API, прежде чем Servlet 3.0 (который я не думаю, что вы используете, потому что EJB 3.0 является частью Java EE 5.0, которая, в свою очередь, содержит Servlet 2.5 только), вы не увидите ничего на карте параметров запроса. request.getParameter("file")
вернется null
.
Чтобы загрузить загруженный файл и другие параметры запроса в сервлет, вам необходимо самостоятельно разобрать InputStream
из HttpServletRequest
. К счастью, обычно используется API, который может взять утомительную работу из ваших рук: Apache Commons FileUpload.
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
// <input type="file">
System.out.println("Field name: " + item.getFieldName());
System.out.println("File name: " + item.getName());
System.out.println("File size: " + item.getSize());
System.out.println("File type: " + item.getContentType());
} else {
// <input type="text|submit|hidden|password|button">, <select>, <textarea>, <button>
System.out.println("Field name: " + item.getFieldName());
System.out.println("Field value: " + item.getString());
}
}
В основном вам просто нужно, чтобы получить InputStream
от FileItem
объекта и записать его на любой OutputStream
на свой вкус, используя обычный Java IO путь.
InputStream content = item.getInputStream();
В качестве альтернативы вы можете также записать его непосредственно:
item.write(new File("/uploads/filename.ext"));
На их сайте вы можете найти много примеров кода и важных советов & трюков в секциях User Guide и Frequently Asked Questions. Прочтите их внимательно.
Большое спасибо за ваши предложения! Я изучу Commons Fileload и попытаюсь реализовать в своем приложении, то я вернусь. Позаботьтесь! George – George
+1. Я бы добавил, что вам нужно добавить '@SuppressWarnings (« unchecked »)', чтобы позаботиться о первой строке кода, поскольку 'parseRequest()' просто возвращает 'List' –
, я внедрил ваш код, но он выбрасывает исключение FileNotFound – Roshan
- 1. JSP Servlet Загрузить файл изображения
- 2. SSE и Servlet 3.0
- 3. Servlet Spec 3.0 без рендеринга JSP включает
- 4. Servlet 3.0 AsyncContext и EJB @RolesAllowed в JBoss
- 5. Servlet 3.0 и ресурсы
- 6. Кнопка «Загрузить больше» с помощью Servlet, JQuery, JSP
- 7. Загрузить изображение MySQL с помощью JSP, сервлет
- 8. Как повернуть изображение и сохранить его с страницы JSP/Servlet
- 9. Как обновить и удалить запись в JavaEE с помощью JSTL, JPA, EJB, JSP, Servlet
- 10. EJB 3.0 и SQL
- 11. Загрузить/загрузить Servlet Server
- 12. Ошибка: JSP и Servlet
- 13. Java Servlet 3.0 и @WebServlet
- 14. JSP listbox и Servlet
- 15. Почему EJB удаленно и Servlet не
- 16. Загрузка изображений с помощью Servlet 3.0
- 17. Как загрузить два файла с одной страницы с помощью Java Servlet и JSP с другими полями?
- 18. Как загрузить изображение с помощью Backendless в swift 3.0
- 19. Servlet 3.0 и JAX-RS
- 20. Как извлечь значение строки с помощью Servlet и JSP?
- 21. Как проверить EJB 3.0?
- 22. SBT, Jetty и Servlet 3.0
- 23. создание карты сайта с помощью jsp/servlet
- 24. EJB 2.0 VS EJB 3.0
- 25. Как загрузить изображение в DAM с помощью JSP
- 26. Приращение/Уменьшение значения с помощью JSP/Servlet
- 27. горячего развертывания JSP, в веб-фрагмента с помощью Eclipse, и Tomcat (Servlet 3.0)
- 28. Отображение данных ArrayList (EJB + Servlet + JSP (JSTL)) на JavaScript ArrayList
- 29. Jetty servlet 3.0 и страница с ошибкой
- 30. JSP - Невозможно загрузить изображение на Google Appengine
http://www.google.com/search?hl=ru&q=java+file+upload+tutorial – Asaph