【问题标题】:image download successfully but i open image its show "this file can't be opened. The file might be damaged."图像下载成功,但我打开图像显示“无法打开此文件。文件可能已损坏。”
【发布时间】:2016-10-23 10:08:51
【问题描述】:
//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) ;

}

【问题讨论】:

    标签: spring model-view-controller


    【解决方案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()
    

    【讨论】:

    • 那么还有其他问题,下载正在按我的预期工作,你的源文件还好吗?你是怎么摄取的?
    猜你喜欢
    • 2020-12-16
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多