首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

j2ee上载的实现

2012-11-14 
j2ee下载的实现j2ee下载的实现 原文 http://code.google.com/p/helloj2ee/wiki/j2ee_download所谓下载就是

j2ee下载的实现
j2ee下载的实现 原文 http://code.google.com/p/helloj2ee/wiki/j2ee_download所谓下载就是

    向浏览器发个头信息,说明是下载文件,不是输出html文本,以及说明文件名,文件类型等 将下载内容发给浏览器
做法大概有这么几种:1、 tomcat本身对项目下的文件直接提供下载功能,在tomcat/conf/web.xml里有类似很多这种定义
? ? <mime-mapping>?? ? ? ? <extension>zip</extension>?? ? ? ? <mime-type>application/zip</mime-type>?? ? </mime-mapping>

,那么如果你在你的项目下有个foo.zip,那么在浏览器里直接输入 http://localhost:8080/foo.zip ,这时tomcat就会执行上述的两个步骤。浏览器会得到头信息:有文件要下载,文件名是foo.zip,文件类型是application/zip,即可以使用支持zip格式文件的应用程序打开等头信息。

2、 如果要下载的文件不是在你项目的目录下,比如在c:/测试.doc,那么你可以这么写程序,比如叫d.jsp。

?

?response.setContentType("application/msword");??response.setHeader("Content-Disposition", ??"attachment;filename="" + new String("测试.doc".getBytes("GBK"),"iso-8859-1") + """);??

?

FileInputStream in = new FileInputStream("c:/测试.doc");??byte[] bytes = new byte[1024];??while((m=in.read(bytes))!=-1){?? ? ? ? response.getOutputStream().write(bytes, 0, m);??}??in.close();??

那么访问http://localhost:8080/d.jsp 的时候就会下载c:/测试.doc了。

3、 下载还有个是否支持断点续传的问题,可以搜索

?

response.setHeader("Accept-Ranges", "bytes");

以了解细节

4、 struts2等也有对下载的直接支持,可以搜索:

?

struts2 public InputStream getInputStream() ?下载

来了解详情

热点排行