javaweb文件下载方式总结

原创 2016年06月02日 09:15:37

java中常用的两种下载方式总结:

1)将文件放在webroot目录中,WEB-INF外,这样当请求下载时,返回页面一个相对路径或者绝对路径(即将可访问资源文件直接返回给页面),通过页面访问资源的形式,进行下载;


2)将资源的输入流写入response的输出流,再将携带资源流的response返回页面,达到下载目的

        public void download(String sPath, HttpServletResponse response) {
File oFile = new File(sPath);
if (!oFile.exists()) {
return;
}
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment;filename=" + oFile.getName());
response.addHeader("Content-Length", "" + oFile.length());
InputStream oInputStream = null;
try {
oInputStream = new FileInputStream(oFile);
ServletOutputStream sops = response.getOutputStream();
byte[] buffer = new byte[1024];
int nTempLength = 0;
while ((nTempLength = oInputStream.read(buffer, 0, 1024)) != -1) {
sops.write(buffer, 0, nTempLength);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
                if (oInputStream != null) {
                try {
oInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
                }
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

U-boot、Kernel、文件系统的几种下载方式总结(基于TQ2440开发板)

自己移植U-boot的话会生成nor flash启动文件u-boot-nor.bin和nand flash启动文件u-boot-nand.bin。 内核移植生成文件uImage.bin。 文件系统生...

asp.net 几种文件下载方式比较

/*      * asp.net 几种文件下载方式比较      *      * 方法1、HttpResponse.TransmitFile   ...

struts2 文件下载方式

文件下载不需要再加入任何额外的包。读者可以参考文档:http://beansoft.java-cn.org/myeclipse_doc_cn/struts2_demo.pdf,来了解怎么下载和配置基本...

.net上传文件,大文件及下载方式汇总(转)

文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括:   1、如何解决文件上传大小的限制   2、以文件形式保存到服务器   ...

struts2 文件下载方式 此法解决下载中文文件问题。不错

在BlogJava上已经有一位作者阐述了文件上传的问题,地址是在Struts 2中实现文件上传,因此我就不再讨论那个话题了。我今天简单介绍一下Struts 2的文件下载问题。 我们的项目名为 str...

apple的下载方式

  • 2014-05-08 18:22
  • 55KB
  • 下载

android下载方式

  • 2011-01-07 17:10
  • 15KB
  • 下载

安装嵌入式linux系统的步骤(USB线下载方式)

首先通过将安装的辅助软件烧写进入SD卡中(可以通过linux下的dd命令也可以通过windows下提供的烧写软件实现)。将SD卡插入开发板,将开发板设置为从SD卡启动,通过USB下载线使PC机与开发板...

360安全浏览器的下载方式

  • 2010-03-25 12:53
  • 3.39MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)