У меня есть file.zip
в БД, как BLOB
. Я хочу создать метод в контроллере Spring для загрузки этого файла на стороне клиента.Как загрузить zip-файл с контроллера на стороне клиента? Весенняя обувь
@RequestMapping(value = "/downloadResolution/{resolutionId}", method = RequestMethod.GET)
public void downloadResolution(@PathVariable("resolutionId") Long resolutionId, HttpServletResponse response) {
Resolution resolution = resolutionService.findOne(resolutionId);
ResolutionArchive resolutionArchive = resolution.getResolutionArchive();
if (resolutionArchive == null) return;
byte[] archive = resolutionArchive.getArchive();
//this byte[] archive - my zip file from db
}
Как это изменить? Чтобы загрузить это на стороне клиента?
User press download button. Methos получает данные из БД в байт [], и пользователь может его загрузить.
EDIT
Я попытался решение @pleft и работать. и я знал - я использую ajax для метода вызова
function downloadResolution(resulutionId) {
$.ajax({
type: 'GET',
dataType: "json",
url: '/downloadResolution/' + resulutionId,
success: function (data) {
},
error: function (xhr, str) {
}
});
}
Как реализовать это, если я использую ajax?
Не окно показывает для сохранения файла, когда я нажимаю "скачать" и метод downloadResolution был выполнен – user5620472
Вы уверены, что ваш 'resolutionArchive' не является нулевым ? Потому что в вашем коде я вижу 'if (resolutionArchive == null) return;' следовательно, ничего не произойдет, если ваша программа вернется. Можете ли вы его отладить? – pleft
Да, я уверен. Это НЕ НЕТ. – user5620472