文件上传下载_servlet版本
package com.ssh.common.util;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.output.WriterOutputStream;
import org.apache.http.HttpRequest;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.List;
public class FIleUtil {
public void upload(HttpServletRequest request){
if(!ServletFileUpload.isMultipartContent(request)){
throw new RuntimeException("当前请求不支持上传文件!");
}
try {
DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setSizeThreshold(1024*1024*1);
String temPath=request.getServletContext().getRealPath("/temp");
File temp=new File(temPath);
factory.setRepository(temp);
ServletFileUpload upload=new ServletFileUpload(factory);
upload.setFileSizeMax(1024*1024*2);
upload.setSizeMax(1024*1024*5);
upload.setHeaderEncoding("UTF-8");
List<FileItem> items=upload.parseRequest(request);
for(FileItem item :items){
if(item.isFormField()){
String fieldName=item.getFieldName();
String fieldValue=item.getString("UTF-8");
}else{
String fileName=item.getName();
InputStream in=item.getInputStream();
String path=request.getServletContext().getRealPath("/upload");
File descFile=new File(path,fileName);
OutputStream out=new FileOutputStream(descFile);
byte[] buff=new byte[1024];
int len=0;
while ((len=in.read(buff))>0){
out.write(buff,0,len);
}
in.close();
out.close();
item.delete();
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
public void downLoad(HttpServletRequest request,HttpServletResponse response){
String fileName="123.pdf";
try {
byte[] bytes=fileName.getBytes("UTF-8");
fileName=new String(bytes,"iso-8859-1");
response.setHeader("content-disposition","attachment;filename="+fileName);
InputStream in=request.getServletContext().getResourceAsStream("/resources/aaa.pdf");
ServletOutputStream out=response.getOutputStream();
byte[] buff=new byte[1024];
int len=-1;
while ((len=in.read(buff))!=-1){
out.write(buff,0,len);
}
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}