jsp页面点击下载文件 java方式(服务器上带路径文件 以文件流输出)

jsp页面点击按钮至控制类,以下只显示类文件:

@RequestMapping(params = "method=download")
public void download(HttpServletResponse response,String path,HttpServletRequest request) throws IOException{
response.setContentType(CONTENT_TYPE);
File file=new File(path);

String fileName=file.getName();

// response.setContentType("application/x-msdownload");
// response.setContentType("application/octet-stream");
response.setContentType("text/html;charset=utf-8");
// ((ServletRequest) response).setCharacterEncoding("UTF-8");
response.addHeader("Content-Disposition","attachment;filename="+new String(fileName.getBytes()));


String filePath=request.getRealPath("/")+File.separator+"file"+File.separator+fileName;

FileInputStream fis=new FileInputStream(filePath);

// FileInputStream fis=new FileInputStream(path);
// BufferedInputStream buff=new BufferedInputStream(fis);

OutputStream os=new BufferedOutputStream(response.getOutputStream());
// ServletOutputStream sout = response.getOutputStream();
// PrintWriter os = new PrintWriter(new BufferedWriter(response.getWriter()));
os.flush();
// JspWriter out = null;
// ServletContext pageConte
// out.clear();
// out = pageContext.pushBody();

// byte[] buffer=new byte[fis.available()];
// fis.read(buffer);
// fis.close();
// buff.read(buffer);
// buff.close();
// response.reset();

byte[] b=new byte[100];
int len=0;
while((len=fis.read(b))>0){
// response.reset();
os.write(b,0,len);
// os.write(len);
}

// os.write(buffer);
os.flush();
os.close();

// return response;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值