下载文件
来源:互联网 发布:北方数据 杂志 编辑:程序博客网 时间:2024/05/17 00:53
Web应用中实现文件下载的方法有两种,
其一是产量接直接只想下载资源,另一个方法的实现程序实现下载需要设置两个响应头:
设置Content-Type的值为:applic ation/x-msdownload.。Web服务器需要告诉浏览器其所输出的内容的类型不是破桶的文本文件或HTML文件,而是一个需要保存在本地的下载文件。
Web拂去其希望流浪不直接处理相应的试题内容,而是由用户选在相应的实体内容保存到一个文件中,着需要甚至Content-Sisposition报头。该报头制定了接受程序处理数据内容的方式,在http因公中只有attachment是标准方式,attachment表示需求用户干预。在attachment后面还可以指定filename参数,该参数是服务器建议浏览器将尸体内容般从到文件中的文件名称。在设置Content-Dispostion之前一定要指定Content-Type。
如下:
Response.setContenType("application/x-msdownload");
String ste="attachment;filename"+java.net.URLEncoder.encode(fileName,"UTF-8");
response.setHeader("Content-Disposition",str);
因为要下载的文件可以是各种类型的文件,所以要将文件传送给客户端,其相应内容应该被当做二进制来处理,所以应该调用 ServeltOutputStrea方法返回 对象来向客户端写入文件内容。
如下:
SerlrtOoutputStream sos = response.getOutStream();
Byte[] data=new byte[2048];
Int len=0;
While((len=is.rea(data))>0){
Sos.write(data,o,len);
}
综合案例:
private String id;
private String savename; //上传文件的名称,文件的uuid名
private String realName; //上传文件的真实名称
private String savepath; //记住文件的位置
private Date uptime; //文件的上传时间
private String description; //文件的描述
private String username; //上传人
下载文件示例:
FilerDemo1的代码
package com.hbsi.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class FilterDemo1 implements Filter{
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("hahaha");
chain.doFilter(request, response);
System.out.println("wwwww");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
Xml文件代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>filter1</filter-name>
<filter-class>com.hbsi.web.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
- 下载图片,下载文件
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 下载文件
- 文件下载
- 下载文件
- ISTQB AL-TA/TTA连载系列17:基于风险的测试设计
- Web开发人员和设计师必读文章推荐
- Android 通过伪3D变换可以基本实现coverflow的效果
- 博客 UTF-8 测试1
- 九个让人难以置信的HTML5和JavaScript实验
- 下载文件
- C#窗体打开word-替换标签内容
- sysfs目录下的usb设备信息浅析--ft232
- Web开发者必备的20款超赞jQuery插件
- reset的失效问题
- 也谈Linux下使用freetds连接sqlserver数据库
- 今天心情好差
- epoll_create epoll_ctl epoll_wait close epoll和select的简单比较
- Web开发人员常用速查手册