Как я могу служить файлом изображения в файловой системе из сервлета?Служить статический файл изображения из файловой системы в сервлет?
ответ
Ознакомиться здесь:
Example Depot: Returning an Image in a Servlet
Ссылка сломана. Вайбак машина копия вставляется ниже:
// This method is called by the servlet container to process a GET request.
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
// Get the absolute path of the image
ServletContext sc = getServletContext();
String filename = sc.getRealPath("image.gif");
// Get the MIME type of the image
String mimeType = sc.getMimeType(filename);
if (mimeType == null) {
sc.log("Could not get MIME type of "+filename);
resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
// Set content type
resp.setContentType(mimeType);
// Set content size
File file = new File(filename);
resp.setContentLength((int)file.length());
// Open the file and output streams
FileInputStream in = new FileInputStream(file);
OutputStream out = resp.getOutputStream();
// Copy the contents of the file to the output stream
byte[] buf = new byte[1024];
int count = 0;
while ((count = in.read(buf)) >= 0) {
out.write(buf, 0, count);
}
in.close();
out.close();
}
работает на моем сайте, но мы получаем около 15 миллионов просмотров страниц в месяц, поэтому ему нужна некоторая оптимизация – sadgas
Эй, айоое, ваша ссылка сейчас сломана, что означает, что этот ответ потерял все использовать. ': (' –
Спасибо Matt. Было бы неплохо, если бы у SO была служба для уведомления авторов, если/когда их ссылки сломаются. Хеч, почему бы не добавить кэш каждой связанной с ней веб-страницы. – aioobe
Ну это вроде стыда, что сервлет спецификации не имеет четкого способа сделать это, если изображение не находится под WebAPP реж. Контейнеры сервлетов обычно не советуют использовать их собственные способы. Очевидно, контейнер должен сделать это, чтобы обслуживать файлы, почему он не раскрывает функциональность? Почему не HttpServletResponse.sendFile(File)
?
Ваш лучший выбор - создать символические ссылки, чтобы ваши файлы отображались в каталоге webapp.
- 1. Как удалить изображения/файл из файловой системы?
- 2. Добавление изображения из файловой системы в Jlabel
- 3. BlackBerry: присвоение изображения BitmapField из файловой системы
- 4. expressjs: служить статический файл, игнорируя кэш попойки
- 5. Загрузка изображения в файловой системе с JSP/сервлет MYSQL
- 6. Bottlepy служить статический файл с динамическим корнем
- 7. sqoop файл паролей из локальной файловой системы
- 8. может удалить файл из файловой системы Android?
- 9. Потоковый файл из смонтированной файловой системы smb
- 10. XmlPullParser получить файл из файловой системы
- 11. Невозможно удалить ZIP-файл из файловой системы
- 12. Отображение виртуальной файловой системы в локальный файл
- 13. создать книгу из файловой системы
- 14. Обратное изображение из файловой системы
- 15. Использование управления изображениями wpf для отображения изображения из файловой системы
- 16. Как отобразить загруженное изображение из файловой системы
- 17. Удалить файлы из файловой системы IOS SIMULATOR
- 18. Скопируйте файлы (изображения) из файловой системы в HDFS
- 19. Как извлечь файл из данных файловой системы ext4?
- 20. Хранить и извлекать изображения из файловой системы вместо базы данных
- 21. Загрузка из файловой системы в angularjs
- 22. Написание ресурсов из файловой системы в Android
- 23. Выберите аудиофайл из файловой системы
- 24. Взятие побитового изображения файловой системы Android
- 25. Прочтите json-файл из моей локальной файловой системы в AngularJS
- 26. Docker.IO Конфигурация файловой системы
- 27. загрузка JQuery в обозревательУправление из файловой системы
- 28. Веб-сервер Java отображает изображения из файловой системы?
- 29. ASP MVC Получение изображения из SQLite db против файловой системы
- 30. Загрузка изображения на холст из локальной файловой системы предварительного загрузить
Какой сервер приложений? Некоторые предлагают простой способ определить веб-приложение для публикации статического контента, например weblogic: http://blogs.oracle.com/middleware/2010/06/publish_static_content_to_weblogic.html – RealHowTo
И Tomcat: http://stackoverflow.com/questions/1502841/secure-data-serve/2662603 # 2662603 – BalusC