#spring #model-view-controller
#spring #модель-вид-контроллер
Вопрос:
//this section is download user image data from the db
@RequestMapping(value={"/downloadRow-{img_id}"} , method=RequestMethod.GET)
public void downloadImageFile(@PathVariable int img_id,HttpServletResponse response ,HttpServletRequest request,ModelMap model)
throws IOException, ServletRequestBindingException{
ImageModel imgModel=service.downloadFile(img_id);
response.setContentType(imgModel.getImageContentTyepe());
response.setContentLength(imgModel.getImageContentTyepe().length());
response.setHeader("Content-Disposition","attachment; filename="" imgModel.getImg_name() "" ");
FileCopyUtils.copy(imgModel.getImageConent(), response.getOutputStream()); //qustn
response.getOutputStream().close();
showRecord(model) ;
}
Ответ №1:
Я думаю, вам не хватает
response.flushbuffer
после копирования потока. У меня это работает:
response.setContentType(MediaType.APPLICATION_OCTET_STREAM.toString());
response.addHeader("Content-Disposition", "attachment; filename=" file.getFileName());
IOUtils.copy(fsin, response.getOutputStream());
fsin.close();
response.flushBuffer();
response.getOutputStream().close()
Комментарии:
1. тогда что-то еще не так, эта загрузка работает так, как у меня было задумано, ваш исходный файл в порядке? как вы его загружаете?