Spring 3 MVC, как загрузить изображение на ресурсы веб-приложения
У меня проблема с загрузкой изображения весной 3 мвк. Я ищу пару часов, но не могу найти никакого удовлетворительного решения.
Что я хочу сделать?
Я просто хочу загрузить изображение на сервер и сохранить его там, где я могу легко получить к нему доступ с моих сайтов jsp, чтобы показать изображение и так далее.
Я не знаю, если использовать неправильное ключевое слово, но я не могу найти хорошее решение для этого, и я в новинку весной, чтобы выяснить это самостоятельно...
Таким образом, проблема не в том, чтобы сохранить файл на сервере, эту проблему я уже решил, но до сих пор я могу только сохранить его в ServletContext#getRealPath(), и там, я думаю, я не могу получить доступ к изображению на сайте jsp.
У кого-нибудь была хорошая идея, как я могу решить это или какие-либо подсказки, чтобы найти решение?
большое спасибо за вашу помощь и очень извиняюсь за мой английский... уже довольно поздно в Германии -.-
2 ответа
По моему мнению, когда вы попытаетесь получить доступ к изображению в вашем JSP-файле, вы получите ошибку 404.
Вам необходимо включить следующую строку кода в файл servlet.xml.
<mvc:resources location="/assets/" mapping="/assets/**" />
Вам просто нужно заменить путь, по которому вы сохранили загруженные изображения. И тогда все будет работать.
Надеюсь, это поможет вам.
Приветствия.
Спасибо за вашу помощь, моя проблема заключается в том, как получить этот путь для сохранения моего файла в него.
Вот фрагмент кода, как я делаю это сейчас (я нашел этот способ в нескольких местах, но я не знаю, является ли это хорошим способом сохранения изображений)
ServletContext context = RequestContextUtils.getWebApplicationContext(request).getServletContext();
try {
if(!image.isEmpty()) {
validateImage(image);
sizeChart.setImgPath(saveImage(context.getRealPath("/") + "/images/" + image.getOriginalFilename(), image));
}