@RequestMapping(value = "/{meetingType}/download/{fileId}", method = RequestMethod.GET)
private void download(@PathVariable String meetingType,@PathVariable long fileId,HttpServletResponse response) throws Exception {
if(!SecurityUtils.getSubject().isPermitted(meetingType+"-"+PER_DELETE)){ return ;}
BufferedInputStream ips = null;
ServletOutputStream out = null;
try {
Material material = materialService.selectByPrimaryKey(fileId);
String url = Constans.FOLDER_CATALOG + material.getFileUrl();
String fileName = material.getName()+"."+material.getSuffixName();
fileName = URLEncoder.encode(fileName,"UTF-8"); //解决下载文件名乱码
File file = new File(url);
if(!file.exists()){
JSONObject json = new JSONObject();
json.put("state","该文件已不存在");
AjaxUtil.responseJson(json,response);
}
response.setCharacterEnco
javaWeb文件下载
最新推荐文章于 2024-08-14 14:42:16 发布
本文档展示了如何在JavaWeb应用中实现文件下载功能。通过`@RequestMapping`注解定义了下载路径,根据文件ID获取文件信息,并设置响应头处理文件名乱码问题。使用`BufferedInputStream`和`ServletOutputStream`进行文件流读写,确保文件能正确发送到客户端。
摘要由CSDN通过智能技术生成