读书人

使用Common-fileUpload 下传文件 读取

发布时间: 2012-08-29 08:40:14 作者: rapoo

使用Common-fileUpload 上传文件 读取文件内容

private String fileTmpPath = "";

?private int fileSize = 100;

?private static UpLoadFile loadFile = new UpLoadFile();

?public UpLoadFile() {
?}

?public UpLoadFile getInstance() {
??return loadFile;
?}

?/**
? * 缓存上传二进制文件
? * @param request 请求url
? * @return ServletFileUpload 对象
? */
?public ServletFileUpload configUploadTerm(HttpServletRequest request) {
??FileCleaningTracker fileCleaningTracker = FileCleanerCleanup
????.getFileCleaningTracker(request.getSession()
??????.getServletContext());
??DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
??
??// 设置最多只允许在内存中存储的数据,单位:字节
??diskFileItemFactory.setSizeThreshold(1024 * fileSize);
??
??// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
??diskFileItemFactory.setRepository(new File(fileTmpPath));
??
??diskFileItemFactory.setFileCleaningTracker(fileCleaningTracker);
??
??ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory);
??
??upload.setHeaderEncoding("utf-8");
??//上传文件的最大值
??upload.setSizeMax(1024 * fileSize);
??
??return upload;
?}
?
?public int upLoadFiles(HttpServletRequest request){
??ServletFileUpload fileUpload = configUploadTerm(request);
??
??try {
???List<?> list = fileUpload.parseRequest(request);
???for(int i = 0 ; i < list.size() ; i ++){
????FileItem fileItem = (FileItem) list.get(i);
????if(!fileItem.isFormField()){
?????try{
??????BufferedReader reader = new BufferedReader(new InputStreamReader(fileItem.getInputStream(),"gbk"));
??????while(null != reader.readLine()){
???????System.out.println("行记录"+reader.readLine());
??????}
?????}catch (Exception e) {
?????}
????}else{
?????String s = new String(fileItem.getString().getBytes("iso-8859-1"),"utf-8");
?????System.out.println("普通文本" + fileItem.getFieldName() + "\t" + s);
????}
???}
???return 1;
??} catch (FileUploadException e) {
???e.printStackTrace();
???return? 0;
??} catch (UnsupportedEncodingException e) {
???e.printStackTrace();
???return 0;
??}
?}

读书人网 >软件架构设计

热点推荐