SpringMVC--restful中怎么样实现jsp页面的下载功能?

</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值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值