Скачать файл из 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
        }
    }
→ Ссылка