文档章节

<J2EE>文件的下载DownLoad

未来守护者
 未来守护者
发布于 2014/11/19 16:01
字数 244
阅读 15
收藏 0
public void downLoad(HttpResponse response){
   //设置文件接受时候的名称和文件类型
  response.setHeader("Content-Disposition", "attachment;filename=adobe.rar");
   //设置网页在客户端的打开方式
  response.setContentType("Content-Type", "application/x-download");
   //获取当前应用的servletContext
  ServletContext sc=this.getServletContext();
  //获取Test.rar的在应用中的真是路径
  String filePath=sc.getRealPath("Test.rar");
  //获取输入流
    InputStream is=new InputStream(filePath);
   //获取输出流
     OutputStream os=response.getOutputStream();
  //用来记录read返回值,以判断文件是否已经读到了末尾
  len=-1;
  //每次读出一个1024byte字节数组大小的数据进行传输
  byte [] b=new byte[1024];
  //开始读写数据
  while((len=is.read(b))!=-1){
    //将读出数据写入客户端
    os.write(b,0,len);
  }
  is.close();
  os.flush();
  os.close();
}

如果上面的存储时候的文件为中文名称的时候需要对其进行转码,转码方法如下:

response.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("梦想.rar", "UTF-8"));// 中文文件名此处要进行URL编码


© 著作权归作者所有

共有 人打赏支持
未来守护者
粉丝 10
博文 78
码字总数 22633
作品 0
郑州
高级程序员
ehcache-server RESTful

1.下载 http://ehcache.org/downloads/catalog 下载ehcache-server-1.0.0-distribution.tar.gz http://tomcat.apache.org/download-60.cgi 下载tomcat6 2.安装 安装tomcat6(安装路径里最好不......

udbwcso
2015/07/08
0
0
Servlet3.0.1与dojo实现图片AJAX上传与下载,附lastmodified实现

开发环境 tomcat8, eclipse+maven,dojo1.9 Maven项目 首先需要生成一个webapp的maven项目。本次开发用到了tomcat的servlet api, jsp api以及jstl,因此需要在pom.xml中声明所需的依赖。为了不...

xpbug
2014/03/15
0
0
用jspsmartupload实现Jsp多文件上传下载,并解...

此例子是基于jspsmartupload组件的,jspsmartupload是一个不错的上传下载组件,但对中文支持不足。若下载的文件名中有汉字,则浏览器在提示另存的文件名时,显示的是一堆乱码,让人看了很不舒...

张志浩
2012/10/08
0
1
SpringMVC实现上传和下载

package com.pk.web.controller; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.mult......

Jeremy_pan
2014/09/06
0
4
Spring中HttpInvoker远程调用使用实例

代码结构图如下: 客户端通过Spring的HttpInvoker,完成对远程函数的调用。涉及的类有: 客户端调用User类的服务UserService,完成对实现类UserServiceImpl的addUser(User u)方法调用。其中...

方绍伟
2013/10/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring加载properties文件的两种方式

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修...

架构师springboot
34分钟前
0
0
分布式事务,原来可以这么玩?

多个数据要同时操作,如何保证数据的完整性,以及一致性? 答 : 事务 ,是常见的做法。 举个栗子: 用户下了一个订单,需要修改 余额表 , 订单 表 , 流水 表 ,于是会有类似的伪代码: st...

微笑向暖wx
37分钟前
2
0
IE6兼容PNG32图片显示PNG8图片

IE6并不是不支持PNG图片,只是不支持半透明通道。 是支持PNG8色表引索全透明的。 以往都是通过滤镜或统统使用PNG8实现兼容。 但是我发现twitter的png图标可以在chrome中显示png32,在IE6显示...

linsk1998
49分钟前
0
0
linux运维需要掌握的基础知识

踏入linux运维工程师这一职业,其实有很多工具技能需要掌握,下面我来给大家一一介绍。 1、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些...

linuxprobe16
50分钟前
0
0
《netty入门与实战》笔记-03:数据传输载体 ByteBuf 介绍

ByteBuf结构 首先,我们先来了解一下 ByteBuf 的结构 以上就是一个 ByteBuf 的结构图,从上面这幅图可以看到: ByteBuf 是一个字节容器,容器里面的的数据分为三个部分,第一个部分是已经丢弃...

Funcy1122
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部