Java 下载文件需要的包:
- org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload
- org.apache.commons.fileupload.servlet.ServletFileUpload
1、 org.apache.tomcat包下载文件
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; //导入依赖的package包/类
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
if(!ServletFileUpload.isMultipartContent(request)){
throw new ServletException("Content type is not multipart/form-data");
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("<html><head></head><body>");
try {
List<FileItem> fileItemsList = uploader.parseRequest(request);
Iterator<FileItem> fileItemsIterator = fileItemsList.iterator();
while(fileItemsIterator.hasNext()){
FileItem fileItem = fileItemsIterator.next();
System.out.println("FieldName = " + fileItem.getFieldName());
System.out.println("FileName = " + fileItem.getName());
System.out.println("ContentType = " + fileItem.getContentType());
System.out.println("Size(byte) = " + fileItem.getSize());
File file = new File(request.getServletContext().getAttribute("FILE_DIR") + File.separator + fileItem.getName());
System.out.println("Absolute Path at server = " + file.getAbsolutePath());
fileItem.write(file);
out.write("File " + fileItem.getName() + "uploaded successfully." + "<br/>");
out.write("<a href=\"UploadDownloadFileServlet?fileName=" + fileItem.getName() + "\"> Download" + fileItem.getName() + "</a>");
}
} catch (Exception e) {
// TODO: handle exception
out.write("Exception in uploading fiile");
}
out.write("</body></html>");
}
2、org.apache.commons包下载文件
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DiskFileItemFactory factory = new DiskFileItemFactory();
if (ServletFileUpload.isMultipartContent(request)){
String path = getServletContext().getRealPath("/WEB-INF/upFile/");
File upFile = new File(path + "/temp");
if(!upFile.exists()){
upFile.mkdirs();
}
factory.setRepository(upFile);
factory.setSizeThreshold(1024*1024);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(1024*1024*1024);
upload.setHeaderEncoding("UTF-8");
try{
List<FileItem> list=upload.parseRequest(request);
for(FileItem item:list){
if(!item.isFormField()){
Long l = item.getSize();
String name = item.getName();
File saveFile = new File(path + "/" + name);
if (saveFile.exists()){
saveFile.delete();
}
InputStream is = item.getInputStream();
FileOutputStream fos = new FileOutputStream(saveFile);
byte[] bs = new byte[1024*1024*1024];
int n = 0;
while ((n=is.read(bs, 0, bs.length))!=-1){
fos.write(bs,0,n);
}
fos.flush();
fos.close();
is.close();
}
else{
System.out.println(item.getFieldName());
System.out.println(item.getString());
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
}
response.getWriter().println(false);
}