文件下载
来源:互联网 发布:mac配置sublime text3 编辑:程序博客网 时间:2024/06/18 11:06
1.文件下载和文件样式设置方面,阿帕奇公司提供了POI,由于时间关系,后期再更,先写写最原始的下载方法。
1.1 通过超链接下载
优点:开发简单,之间通过超链接即可完成。
缺点:非压缩包的文件(.jpg,.png,.gif,.doc,.txt..)则直接在浏览器中打开。
建议:所有的文件都是压缩包时,可以使用该中方式。
其代码如下:
要保证所要下载的文件路径有效
<a href="1.jpg">girl1.jpg</a>
<a href="1.zip">girl2.zip</a>
1.2通过IO流的方式下载,这里使用的是jsp文件+servlet的方式下载
以下是jsp的内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML><html> <head> <title>下载</title> </head> <body> <h1>超链接方式下载</h1> <a href="1.jpg">girl1.jpg</a> <a href="1.zip">girl2.zip</a> <br/> <h1>IO方法/文件转发方式下载</h1> <a href="${pageContext.request.contextPath}/servlet/DownLoadServlet?name=girl1.jpg">girl1.jpg</a> <a href="${pageContext.request.contextPath}/servlet/DownLoadServlet?name=girl2.zip">girl2.zip</a> <br/> </body></html>
以下是对应servlet中的代码
package cn.test.web;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DownLoadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //IO流的方式现在 //1、接收参数 String fname = request.getParameter("name"); //2、创建输入流对象 InputStream in = new FileInputStream( getServletContext().getRealPath(fname)); //3、创建输出流对象 OutputStream out = response.getOutputStream(); //4、告设置头通知,告知浏览器以附件下载的方式打开 response.setHeader("Content-Disposition", "attachment;filename="+fname); //5执行io操作 byte[] bts = new byte[1024]; int len = -1; while((len=in.read(bts))!=-1){ out.write(bts,0,len); } //6、关闭流 out.close(); in.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
阅读全文
1 0
- 下载图片,下载文件
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 下载文件
- 文件下载
- 下载文件
- Swing——计算器
- HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
- dpdk学习之ip_pipeline学习
- NodeManager节点自身健康状态检测机制
- Kiki & Little Kiki 2
- 文件下载
- JavaScript字符串
- 当时忍住就好了
- Oracle中查询某字段不为空或者为空的SQL语句怎么写
- MapReduce 模式、算法和用例
- github上的几个机器学习程序
- Java版简易画图板的实现
- Mybatis入门基础--查询与缓存
- [玩转算法面试]什么是算法面试?