昨天晚上写了个文件上传,今天想弄弄文件的下载。收到文件下载,我们还是先理一理思路。

文件下载其实说多了就是从服务器中(你部署的项目中)读取出资源文件,然后通过response返回给客户端。其实tomcat已经对文件上传有很好的封装了,我们只需要知道需要下载的文件路径和文件字节流就能够轻松地实现文件下载功能。不多说了,直接上代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String name = request.getParameter("filename");

//获取文件的绝对路径

String path = request.getServletContext().getRealPath("WEB-INF/download/"+name);

System.out.println(path);

//设置文件的MIME类型

response.setContentType(getServletContext().getMimeType(name));

//设置响应头文件,标识为文件下载类型,并附上文件的名称

response.setHeader("Content-Disposition", "attachment;filename="+name);

//对文件进行读取和存贮

InputStream is = new FileInputStream(path);

OutputStream os = response.getOutputStream();

byte[] flush = new byte[1024];

int len = 0;

while((len = is.read(flush))!=-1){

os.write(flush,0,len);

os.flush();

}

is.close();

}

其中还有一种文件下载的方式,而且贼简单。就是直接以超链接的形式指定到你的文件,客户端点击文件之后,就会自动下载。不过这种方式也有弊端,如果是浏览器识别的文件,浏览器会直接打开,而不会下载。代码如下:

最后还有一点稍微提一下,本人在实现上述代码的过程中,还真遇到了一些问题。由于是刚刚装的tomcat很多配置没有修改,出现了路径读取错误。其实原因很简单,就是部署的项目不再tomcat中,而是在eclipse的.metadata\.plugins\org.eclipse.wst.server.core\目录下。其实按理说,以eclipse的部署路径也是不会出错的,但是谁叫本人粗心呢。。download的文件夹目录不再webContent下。

好了,说的问题其实也不是问题,但是能够因为自己的小问题了解到了tomcat的配置一些细节,也算是有所收获。但愿大家也能够在阅读这篇文章之后有所收获。如果有什么问题,还望能够一起探讨,大家共同进步!

文件下载的java代码_文件下载java代码实现相关推荐

  1. java调节音量代码_用Java调用VC音量控制程序_java

    前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...

  2. 如何使用java代码生成_使用Java成功生成代码的7个技巧

    如何使用java代码生成 作为介绍,最近我有点安静,部分原因是我一直在忙于Chronicle-FIX的工作 . 这是Chronicle-Enterprise套件中的一个新的超低延迟库,我们证明了该库可 ...

  3. java空心正方形代码_从Java中的用户输入绘制空心星号正方形/矩...

    我正在尝试创建一个程序,要求用户提供正方形/矩形的宽度和长度尺寸,然后使用#符号将其绘制出来.我几乎了解了,除了我似乎不太了解矩形的右边以正确打印出来- 这是我的代码: import java.uti ...

  4. java dijkstra算法代码_[转载]Java实现dijkstra算法: 地图中任意起点寻找最佳路径...

    最近在复习java,下学期要用,写这个练手.  技术较粗糙,见谅. 代码里用的是这幅地图,根据实际情况更改,在addNode方法中 这个是运行结果,起点和终点在 运行wrap(String qidia ...

  5. java 怎么调用js代码_在Java中直接调用js代码

    JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: " ...

  6. java成绩前五名的代码_一个 JAVA 程序,实现输出考试成绩的前三名

    这是我第一篇Java的文章,这也标志着我学Java编程之路的开始.其实说实话我还是挺喜欢Java编程的,java可以写安全性非常高的系统,一般用于大型企业开发,这也是我喜欢Java的一个理由.我现在需 ...

  7. java服务器代码_简单java服务器

    [java]代码库import java.io.InputStream; import java.io.OutputStream; import java.net.*; public class Ch ...

  8. java 测试用例核心代码_核心Java测验

    java 测试用例核心代码 Welcome to Core Java Quiz. Java is an object-oriented programming language. 欢迎来到Core J ...

  9. java好的代码_做java软件工程师,怎样才能写出好的代码?

    原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...

  10. java邮件发送代码_用java代码发送邮件(优化版)

    调用代码如下: if(!StringUtil.isNullOrEmpty(address)){ SendEmailUtil.sendEmail(globalProperties.getEmailSub ...

最新文章

  1. 远程服务器返回错误: (500) 内部服务器错误。_[源码和文档分享]基于TCP SOCKET实现的远程聊天系统...
  2. 云计算怎么支撑起《流浪地球》的硬科幻实力?
  3. 数学建模清风第三次直播:excel在数学建模中的应用
  4. c语言可循环计算器代码,可编程简易计算器(代码)
  5. HashMap Hashtable TreeMap的异同点
  6. oracle 查找上一个,查看ORACLE_HOME的另外一个方法
  7. zookeeper-大数据Week6-DAY1-1-Zookeeper
  8. ssm项目的maven-pom.xml
  9. 服务器内存傲腾基本参数信息,服务器装傲腾内存
  10. java对象转json字符串
  11. PyKDL---正运动学和逆运动学
  12. 【LeetCode】求众数(四种方法)
  13. 神器啊!轻松用 Python 写个 APP!
  14. Python与MySQL交互中Python提交添加数据操作但数据库并未添加问题解决方案
  15. Mentor Graphics IPC-7351 LP Viewer 10.5使用说明
  16. 清华应届程序员同时被5家公司录取,晒出工资,网友:羡慕
  17. 【智能无线小车系列十】智能小车一体化测试
  18. eclipse 打不开,弹出一个框。
  19. vue-easytable 单元格样式设置
  20. 信息安全管理(CISP)—— 信息安全管理

热门文章

  1. Android 解决下拉刷新控件和ScrollVIew的滑动冲突问题。
  2. 《jQuery EasyUI开发指南》——导读
  3. android学习1:初识Activity
  4. JS阻止冒泡方法(转)
  5. Go Elasticsearch index CRUD
  6. Linux 命令(138)—— nc 命令
  7. 【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
  8. Python(一)缺点
  9. Sublime Text 3总是出现“1 missing dependency was just installed.”
  10. (纯代码)图片移动放大缩小: