1是a标签下载:
直接在jsp或html文件中写:
直接点击超链接就可以下载了。如果是txt文件则不会下载,会直接打开,如果是zip则会提示下载
2,第二种方式就是以请求的方式:(servlet或者action的方式)
客户端发送url:xxx.action或者servlet
如果是action的话则需要通过out = ServletActionContext.getResponse.getOutputStream(); 使用out.write();把需要下载的东西写入到输出流中即可。
但是文件下载需要注意(一个流,两个头)
设置文件的类型:
setContextType("");
在Tomcat里面的conf的web.xml里面有每一种文件类型的mime类型怎么写
根据文件名获得mime类型。
ServletActionContext.getServletContext.getMimeType(String fileName);
然后设置:告诉浏览器是需要下载的
ServletActionContext.getResponse.setHeader("Content-Disposition","attachment;filename="+filename);
中文file会出现中文乱码:
通过FileUtils的工具类。对filename进行编码。
第一个对象是filename,第二个对象就是头信息的User-Agent对应的值
ServletActionContext.getRequest.getHeader("User-Agent");