Как указать часть пути файла в application.properties?
Пишу Spring-MVC Rest-api. Есть метод, который выводит изображения. Путь изображений хранится в БД в строковом виде, а в классе через переменную String. Вот ссылка на изображение: C:\Users\vartanyan\Desktop\images\Orro.jpg. В приложении используется Spring-Boot, Hibernate и PostgreSQL.
Соответственно, мне необходимо чтобы часть ссылки хранилось в application.properties. Например: C:\Users\vartanyan\Desktop\images\ вот эта часть в application.properties, а остальная часть в БД. Я слышал, что так можно делать, но как не знаю.
Метод:
/**
* Получить изображение напитка
*
* @param response
* @param drinkId
* @throws IOException
*/
public void getDrinkImage(HttpServletResponse response, Long drinkId) throws IOException {
String imageURL = drinkRepository.getById(drinkId).getImage();
InputStream in = new FileInputStream(imageURL);
response.setContentType(MediaType.IMAGE_JPEG_VALUE);
IOUtils.copy(in, response.getOutputStream());
}
Ответы (2 шт):
Если правильно понял, application.properties пишете
upload.path=C:\Users\vartanyan\Desktop\images\
А в классе
@Value("${upload.path}")
private String uploadPath;
Другую часть сохраняете в bd.
Может будет кому нибудь полезно уточнение к этому решению. В application.properties нужно использовать экранирование path.
C:\\Users\\vartanyan\\Desktop\\images