servlet下载文件

使用servlet进行文件下载,需要设置http首部:

response.addHeader("Content-Disposition", "attachment; filename=\""+文件名+"\""); 

设置ContentType:

response.setContentType("application/x-msdownload");


再利用IO进行传输。DEMO如下:

public class DownLoad extends HttpServlet {
	private static final long serialVersionUID = 1L;
      
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try{
			Date d=new Date();
			SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd_kkmmss");
			String random=sdf.format(d);
			String targetFile=random+".jpg";
			
			response.setContentType("application/x-msdownload");
			response.addHeader("Content-Disposition", "attachment; filename=\""+targetFile+"\""); 
			
			ServletContext ctx=this.getServletContext();
			InputStream is=ctx.getResourceAsStream("/容器1.jpg"); //放在根目录下
			
			int read=0;
			byte[] bytes=new byte[1024];
			OutputStream os=response.getOutputStream();
			while((read=is.read(bytes))!=-1){
				os.write(bytes,0,read);
			}
		
		}catch(Exception e){
			
		}
		
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值