(一)传统的下载方式
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");
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();
}
}
}