首页 > 代码库 > Web 简单文件下载
Web 简单文件下载
最近开始做第一个项目,在做文件下载的方面遇到了一点问题,现在在这里分享一下。
对于文件下载,我一开始的做法是读取了数据库中的需要下载的文件的相对于工程的相对路径后赋值给html代码的a标签的href属性,但是在测试的时候发现像txt、docx这类文本文档并不是提示下载,而是将相应的文件直接打开了,而由于编码的不同,就出现了满屏乱码这种情况,后来了解到是浏览器对这类简单的文件,它本身能够解析的文件类型都会直接打开显示,只有那些浏览器无法识别解析的文件类型才会提示用户下载,后来我的解决方法是写了一个下载的servlet类,代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; //接收参数,path表示当前文件相对项目根目录的相对路径 String path = request.getParameter("path"); //获取文件的绝对路径 String filepath = request.getSession().getServletContext().getRealPath(path); File file = new File(filepath); //判断该文件是否存在 if(!file.exists()) { out = response.getWriter(); out.println("<script>alert(\"文件不存在!\");window.history.back()</script>"); out.close();return; } response.addHeader("content-disposition", "attachment;filename=" + path); IOUtils.copy(new FileInputStream(file), response.getOutputStream()); }
Web 简单文件下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。