web文件下载、真实路径问题
2016-07-20 15:32
239 查看
public class DownServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置响应头--内容接收程序--浏览器看到这个响应头,就会把它认为的下载程序打开(如果识别迅雷那么就会自动打开迅雷,如果没有其它的则打开一个“文件另存为”的对话框 response.setContentType("application/force-download"); //设置响应头--告诉浏览器:文件名+文件类型 String fileName = "湖南欢迎s文件a名.jpg"; //解决中文文件名乱码问题(只要用下面一句对文件名进行编码就行了) fileName = URLEncoder.encode(fileName,"utf-8"); response.setHeader("Content-Disposition", "attachment;filename=\""+fileName+"\"");//注意,“attachment;” 不能少,否则浏览器会直接在新窗口中打开 //向浏览器发送要下载的文件数据 String realPath = getServletContext().getRealPath("/imgs/1.jpg");//真正下载的文件数据在这里,这句话设涉及到真是路径问题,这句话的作用是获得带盘符的tomcat\webapps\项目根目录(即项目名)\imgs\1.jpg的真实路径 InputStream in = new FileInputStream(realPath); OutputStream out = response.getOutputStream(); byte buf[] = new byte[1024]; int len=0; while( (len=in.read(buf))!=-1){ out.write(buf, 0, len); } out.close(); in.close(); } }
相关文章推荐
- java-WEB中的监听器Lisener
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- 创业如何选择WEB开发语言
- Erlang实现的一个Web服务器代码实例
- 防止网页脚本病毒执行的方法-from web
- 自学成才的秘密:115个 web Develop 资源
- 使用批处理修改web打印设置笔记 适用于IE
- Apache Web让JSP“动”起来
- web下载的ActiveX控件自动更新
- 推荐六款WEB上传组件性能测试与比较第1/10页
- 关于三种主流WEB架构的思考
- 使用 Iisext.vbs 列出 Web 服务扩展文件的方法
- 使用 Iisext.vbs 删除 Web 服务扩展文件的方法
- 使用 iisext.vbs 禁用 Web 服务扩展的方法
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
- web标准知识——从p开始,循序渐进
- web标准知识――用途相似的标签