一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

commonds-fileupload-kirin -JavaEye技術(shù)社區(qū)

 LUPA 2007-08-24
upload.java 
  1. import javax.servlet.*;   
  2. import javax.servlet.http.*;   
  3. import java.io.*;   
  4. import java.util.*;   
  5. import java.util.regex.*;   
  6. import org.apache.commons.fileupload.*;   
  7. import org.apache.commons.io.FilenameUtils;   
  8. import org.apache.commons.fileupload.servlet.*;   
  9. import org.apache.commons.fileupload.disk.*;   
  10. import com.axtrip.util.*;   
  11. public class Upload extends HttpServlet {   
  12.     private String uploadPath = "C:\\upload\\"; // 用于存放上傳文件的目錄  
  13.     private String tempPath = "C:\\upload\\temp\\"; // 用于存放臨時(shí)文件的目錄  
  14.     /**  
  15.      * Constructor of the object.  
  16.      */  
  17.     public Upload() {  
  18.         super();  
  19.     }  
  20.     /**  
  21.      * Destruction of the servlet.   
  22.      */  
  23.     public void destroy() {  
  24.         super.destroy();  
  25.  
  26.     }  
  27.  
  28.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  29.     throws ServletException, IOException {  
  30.         doPost(request,response);  
  31.     }  
  32.  
  33.     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  34.         response.setContentType("text/html; charset=GB2312");  
  35.         PrintWriter out=response.getWriter();  
  36.         try {  
  37.             System.out.println("start");  
  38.             DiskFileItemFactory factory = new DiskFileItemFactory();  
  39.             ServletFileUpload upload = new ServletFileUpload(factory);  
  40.             upload.setSizeMax(4 * 1024 * 1024);
  41.             //允許上傳的文件大小,4M  
  42.             factory.setSizeThreshold(1 * 1024 * 1024);
  43.             //設(shè)置最多只允許在內(nèi)存中存儲(chǔ)的數(shù)據(jù),單位:字節(jié)  
  44.             factory.setRepository(new File(tempPath));
  45.             //文件大小超過getSizeThreshold()的值時(shí)數(shù)據(jù)存放在硬盤的目錄
  46.             String[] errorType = { "exe", "com", "cgi", "asp" };
  47.             //過濾掉的文件類型            
  48.             List uploadlist=upload.parseRequest(request);
  49.             //開始讀取上傳信息   
  50.             Iterator iter=uploadlist.iterator();  
  51.             while(iter.hasNext()){  
  52.                 FileItem  item=(FileItem)iter.next();  
  53.                 if(!item.isFormField()){//忽略其他不是文件域的所有表單信息  
  54.                     String passandfilename = item.getName();
  55.                     //取到客戶端完整 路徑+文件名 c:/111.jpg                   
  56.                     String filename=FilenameUtils.getName(passandfilename);
  57.                     //取到 文件名 111.jpg  
  58.                     String filetype = getFiletype(filename);//取到文件類型 jpg  
  59.                       
  60.                     boolean flag = false;//判斷是否有非法的文件類型                   
  61.                     for(int i =0; i<=errorType.length-1; i++){                        
  62.                         if (filetype.equals(errorType[i])){
  63.                             flag = true;  
  64.                         }  
  65.                     }  
  66.                     if(flag)break;//如果有非法文件,退出  
  67.                       
  68.                     if(!filename.equals("")){                                 
  69.                         filename = getNewFileNameByTime(filename);//文件重命名  
  70.                         String savepath=uploadPath+filename;  
  71.                         out.println("savepath is "+savepath);
  72.                         File saveFilepath=new File(savepath);  
  73.                         item.write(saveFilepath);  
  74.                     }else{  
  75.                         out.print("沒東西");  
  76.                     }  
  77.                 }  
  78.             }  
  79.         } catch (FileUploadBase.SizeLimitExceededException e) {  
  80.             out.println("文件太大了吧");  
  81.             e.printStackTrace();  
  82.         } catch (Exception e) {  
  83.             e.printStackTrace();  
  84.         }  
  85.  
  86.     }  
  87.  
  88.     public void init() throws ServletException {  
  89.           
  90.     }   
  91.       
  92.     //取文件名后綴  
  93.     public static String getFiletype(String fileName) {   
  94.         String type = "";  
  95.         if (fileName == null || fileName.equals(""))  
  96.             return type;  
  97.         int position = fileName.lastIndexOf(".");  
  98.         if (position != -1) {  
  99.             type = fileName.substring(position + 1 , fileName.length());  
  100.         }  
  101.         return type;  
  102.     }  
  103.     //將文件重命名  
  104.     synchronized public String getNewFileNameByTime(String fileName){  
  105.         Date dt = new Date();  
  106.         String fType = getFiletype(fileName);  
  107.           
  108.         String newFileName = new Date().getTime()+ Math.random() + "." + fType;   
  109.         return newFileName ;   
  110.     }   
  111.        
  112. }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产一级内片内射免费看 | 最新日韩精品一推荐日韩精品| 中国一区二区三区人妻| 日本理论片午夜在线观看| 免费大片黄在线观看国语| 欧美一区二区在线日韩| 黑人粗大一区二区三区| 好东西一起分享老鸭窝| 成人精品一区二区三区综合| 精品国产亚洲av成人一区| 欧美成人免费一级特黄| 青青操精品视频在线观看| 精品少妇人妻av免费看| 国产又大又硬又粗又湿| 美国女大兵激情豪放视频播放| 欧美精品久久男人的天堂| 微拍一区二区三区福利| 欧美人与动牲交a精品| 欧美日韩乱一区二区三区| 国产精品日韩精品一区| 日本深夜福利在线播放| 国产色第一区不卡高清| 狠狠干狠狠操亚洲综合| 性欧美唯美尤物另类视频| 综合久综合久综合久久| 亚洲最新一区二区三区| 粉嫩国产一区二区三区在线| 一二区中文字幕在线观看| 国产欧美另类激情久久久| 麻豆看片麻豆免费视频| 亚洲妇女作爱一区二区三区| 日韩欧美国产三级在线观看| 亚洲中文字幕乱码亚洲| 黄男女激情一区二区三区| 欧美黑人巨大一区二区三区| 日韩精品视频免费观看| 国产成人免费激情视频| 好吊日视频这里都是精品| 一二区不卡不卡在线观看| 搡老熟女老女人一区二区| 日本不卡一本二本三区|