Я пытаюсь добавить на свою веб-страницу простую функцию загрузки пользовательских изображений. На данный момент у меня есть (насколько я могу судить) загруженное рабочее изображение - когда я загружаю изображение, оно появляется в правильной папке в каталоге моего веб-приложения. Однако я пытаюсь отобразить изображение на странице после загрузки пользователем, но по какой-то причине оно не отображается, даже если исходный код страницы выглядит правильно ...
В файле jsp я использую код
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () ) {
// Get the uploaded file parameters
String fieldName = fi.getFieldName();
String fileName = fi.getName();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
// Write the file
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( filePath + fileName.substring( fileName.lastIndexOf("\\"))) ;
}
else {
file = new File( filePath + fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
fi.write( file ) ;
out.println("Uploaded Filename: " + filePath + fileName + "<br></br>");
out.println("<img src = \"uploads/" + fileName + "\"></img>");
Когда я загружаю изображение, на странице отображается «Имя загруженного файла: ...», но не изображение. Если я просматриваю исходный код страницы, я также вижу строку кода, относящуюся к изображению, и если я нажимаю на источник изображения «uploads / photo.png», фотография открывается на новой странице браузера. Я понятия не имею, почему я не могу его отобразить - я также пытался изменить путь, но похоже, что это должен быть правильный ...
Моя структура папок: корень webapps index.jsp upload.jsp uploads photo.png
Это проблема с Tomcat (я использую Tomcat 7) или с тем, как я использую страницу jsp или путь к файлу? Если у кого-то есть какие-то подсказки, мы будем очень признательны ...
2 ответа
Исправлено, добавив эти две строки в начало html-файла, созданного jsp:
out.println("<!DOCTYPE html>");
out.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
Ваш синтаксис для тега изображения неправильный. Тег img является самозакрывающимся (<img />
), а не двумя частями (<img></img>
).
out.println("<img src='uploads/" + fileName + "' />");
Я изменил \"
на '
, чтобы облегчить чтение. HTML может использовать одинарные кавычки для атрибутов.

Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.