</pre><pre name="code" class="java">
<span style="font-size:14px;">@RequestMapping(value = "/download/{a}/...", method = RequestMethod.GET, produces = "application/octet-stream; charset=UTF-8")</span>
//下面我用的getFile()方法是获取要下载文件的byte[ ]数组, 还有参数a是文件名字(随便设置的)<span style="font-size:14px;">public void download(@PathVariable("a") String a,....//参数省略
HttpServletResponse res) {
OutputStream os = null;
try {
os = res.getOutputStream();
AppPackageData appData = appService.findDataByA(a);
res.reset();
res.setHeader("Content-Disposition", "attachment; filename="
+ a + ".txt");//这里是设置你下载文件的名字和类型
res.setContentType("application/octet-stream; charset=utf-8");//任意二进制文件
os.write(appData.getFile());//
os.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}</span>
以上是后台java的方法,前台:
<a href="${ctx}/api/v1/app/download/"+a+"/"+....." class="btn btn-sm btn-success">下载</a>
这个href的值就是你的mapping值。