您的位置:首页 > 其它

文件下载的两种方式

2016-08-23 09:14 169 查看

(一)传统的下载方式

package com.ruide.action;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownLoadAction extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

this.doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String filename=request.getParameter("filename");
filename=new String(filename.getBytes("ISO-8859-1"),"UTF-8");

String path=request.getRealPath("/files/");
path=path+"/"+filename;
filename=new String (filename.getBytes(),"ISO-8859-1");

response.setHeader("Content-Disposition", "attachment;filename="+filename);
//response.setContentType("application/x-download");
response.setContentType("application/x-download");

//下载
FileInputStream in=new FileInputStream(path);//本机上的
OutputStream out=response.getOutputStream();//网络流
int a=-1;
if((a=in.read())!=-1){
out.write(a);
}
in.close();
out.close();
}

}


SmartUpload 对象方式下载

package com.ruide.action;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

public class DownLoad1Action extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String filename=request.getParameter("filename");
String path=request.getRealPath("/files/");
filename=new String(filename.getBytes("ISO-8859-1"),"UTF-8");
path=path+"/"+filename;

SmartUpload smt=new SmartUpload();
smt.setContentDisposition(null);
smt.initialize(this.getServletConfig(),request,response);

try {
smt.downloadFile(path);
} catch (SmartUploadException e) {
e.printStackTrace();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  文件的下载