您的位置:首页 > 编程语言 > Java开发

java文件上传

2014-06-05 16:04 106 查看
 

commons.fileupload
1.3版

 

package util;

import java.io.File;

import java.util.Calendar;

import java.util.List;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import
org.apache.commons.fileupload.disk.DiskFileItemFactory;

import
org.apache.commons.fileupload.servlet.ServletFileUpload;

public class Upload extends HttpServlet{

 public static String
doFileUpload(HttpServletRequest
request,  

            
HttpServletResponse
response){  

       

     
//创建文件存放目录

        
Calendar date = Calendar.getInstance();

   int year =
date.get(Calendar.YEAR);

   int mm =
date.get(Calendar.MONTH)+1;

   String dir =
year + "-" + mm; // 目录

   String
uploadFolder = request.getRealPath("zmtupian/" + dir + "/");

   System.out.println("================"+uploadFolder);

   File folder =
new File(uploadFolder);

   folder.mkdirs();

   

   DiskFileItemFactory
f = new DiskFileItemFactory();//磁盘对象

   f.setRepository(new
File("f:/a")); //设置临时目录

   f.setSizeThreshold(1024*8);
//8k的缓冲区,文件大于8K则保存到临时目录

   ServletFileUpload
upload = new ServletFileUpload(f);//声明解析request的对象

   upload.setHeaderEncoding("UTF-8");
//处理文件名中文

   upload.setFileSizeMax(1024
* 1024 * 5);// 设置每个文件最大为5M

   upload.setSizeMax(1024
* 1024 * 10);// 一共最多能上传10M

   try {

   List list =
upload.parseRequest(request);// 解析

   System.out.println("****************list**8===="+list.size());

   for (FileItem
ff : list) {

   if
(ff.isFormField()) {

   String ds =
ff.getString("UTF-8");//处理中文

   System.err.println("说明是:"
+ ds);

   } else
{

   String ss =
ff.getName();

   ss =
ss.substring(ss.lastIndexOf("\\") + 1);//解析文件名

   ff.write(new
File(uploadFolder, ss));

   }

   }

   } catch
(Exception e) {

   e.printStackTrace();

   }

   return
uploadFolder;

   }

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