Скачать файл из MS Server - java (spring)
Есть база на MS Server, в ней таблица со структурой:
idFile (int)
fileName (varchar)
file (varbinary)
Веб-приложение на java со спрингом. Какой тип в Entity прописать для file? И как в последующем сделать так, чтобы можно было бы скачать файл пользователю?
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Согласно таблице
varbinary - SQL Server Types
VARBINARY - JDBC Types (java.sql.Types)
конвертируется в byte[] в java
Автор решения: Lelig
→ Ссылка
Спасибо за подсказку с byte[] Вот так выглядит поле в Entity
private byte[] fileLoad;
Вот такая функция поможет скачать файл с сайта:
@GetMapping("/download")
public ResponseEntity<ByteArrayResource> getFile(Model model, @RequestParam String file) {
try {
MyFiles fileDown;
//find file
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileDown .getFileName() + "\"")
.body(new ByteArrayResource(fileDown .getFile()));
} catch (Exception e) {
//TODO smt
}
}