Java文件的下载(笔记)
public class DownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException{
//Response.setContentType()参数说明http://rubyq.iteye.com/blog/1408141
response.setContentType("application/x-msdownload");
//高速浏览器已下载的形式: 文件下载名xx.jpg
response.setHeader("Content-Disposition", "attachment;filename=xx.jpg");
//文件位置
String src = "C:\\Users\\Administrator\\Desktop\\2.jpg";
File file = new File(src);
FileInputStream fis = null;
ServletOutputStream sos = null;
try {
//文件输入流
fis = new FileInputStream(file);
sos = response.getOutputStream();
//允许传输单位字节数
byte[] b = new byte[1024];
int i;
//判断下一次是否还有数据
while((i=fis.read(b))!=-1){
sos.write(b, 0, i);
}
} catch (Exception e) {
e.printStackTrace();
} finally{
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}