Java,J2EE,Weblogic,Oracle

          java項目隨筆
          隨筆 - 90, 文章 - 6, 評論 - 61, 引用 - 0
          數據加載中……

          FCKeditor 的修改及應用

                 最近研究FCKeditor,發現FCKeditor是不錯的Html文本編輯器,可以讓Web 程序擁有如 word 這樣的編輯功能。但人無完人,事無完事,在實際應用中,還需求一些修改。比如,上傳的圖片,flash 等要按日期生成目錄、上傳的文件自動生成新的文件名。
          (一)ConnectorServlet
               (1)    public void init() throws ServletException { 
                  SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
                     baseDir=getInitParameter("baseDir");
                       debug=(new Boolean(getInitParameter("debug"))).booleanValue();
                    if(baseDir==null)
                   //按日期生新目錄
                      baseDir="/UserFiles/"+dateFormat.format(new Date())+"/";  
                      String realBaseDir=getServletContext().getRealPath(baseDir);
                     File baseFile=new File(realBaseDir);
                     if(!baseFile.exists()){
                 baseFile.mkdir();
                    }
               }
             
              (2)

           public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

            if (debug) System.out.println("--- BEGIN DOPOST ---");

            response.setContentType("text/html; charset=UTF-8");
            response.setHeader("Cache-Control","no-cache");
            PrintWriter out = response.getWriter();
            
            String commandStr=request.getParameter("Command");
            String typeStr=request.getParameter("Type");
            String currentFolderStr=request.getParameter("CurrentFolder");
            
            String currentPath=baseDir+typeStr+currentFolderStr;
            String currentDirPath=getServletContext().getRealPath(currentPath);
            
            if (debug) System.out.println(currentDirPath);
            
            String retVal="0";
            String newName="";
            
            if(!commandStr.equals("FileUpload"))
             retVal="203";
            else {
             DiskFileUpload upload = new DiskFileUpload();
             try {
              List items = upload.parseRequest(request);
              
              Map fields=new HashMap();
              
              Iterator iter = items.iterator();
              while (iter.hasNext()) {
                  FileItem item = (FileItem) iter.next();
                  if (item.isFormField())
                   fields.put(item.getFieldName(),item.getString());
                  else
                   fields.put(item.getFieldName(),item);
              }
              FileItem uplFile=(FileItem)fields.get("NewFile");
              String fileNameLong=uplFile.getName();    
              fileNameLong=fileNameLong.replace('\\','/');
              String[] pathParts=fileNameLong.split("/");
              String fileName=pathParts[pathParts.length-1];
              
          //    String nameWithoutExt=getNameWithoutExtension(fileName);
              String ext=getExtension(fileName);
             //生成新的文件名
              fileName=System.currentTimeMillis()+"."+ext;    
              File pathToSave=new File(currentDirPath,fileName);
             //新的文件名不會重復,故刪除判斷是否重復的代碼
          //    int counter=1;
          //    while(pathToSave.exists()){
          //     newName=nameWithoutExt+"("+counter+")"+"."+ext;
          //     retVal="201";
          //     pathToSave=new File(currentDirPath,newName);
          //     counter++;
          //     }
              uplFile.write(pathToSave);
             }catch (Exception ex) {
              retVal="203";
             }
             
            }
            
            out.println("<script type=\"text/javascript\">");
            out.println("window.parent.frames['frmUpload'].OnUploadCompleted("+retVal+",'"+newName+"');");
            out.println("</script>");
            out.flush();
            out.close();
           
            if (debug) System.out.println("--- END DOPOST ---"); 
            
           }


          (二)SimpleUploaderServlet
           

           public void init() throws ServletException {
             SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
             debug=(new Boolean(getInitParameter("debug"))).booleanValue();
             
             if(debug) System.out.println("\r\n---- SimpleUploaderServlet initialization started ----");
             
            baseDir=getInitParameter("baseDir");
            enabled=(new Boolean(getInitParameter("enabled"))).booleanValue();
            if(baseDir==null)
          //按日期生新目錄
             baseDir="/UserFiles/"+dateFormat.format(new Date())+"/";
            String realBaseDir=getServletContext().getRealPath(baseDir);
            File baseFile=new File(realBaseDir);
            if(!baseFile.exists()){
             baseFile.mkdir();
            }
            
            allowedExtensions = new Hashtable(3);
            deniedExtensions = new Hashtable(3);
              
            allowedExtensions.put("File",stringToArrayList(getInitParameter("AllowedExtensionsFile")));
            deniedExtensions.put("File",stringToArrayList(getInitParameter("DeniedExtensionsFile")));

            allowedExtensions.put("Image",stringToArrayList(getInitParameter("AllowedExtensionsImage")));
            deniedExtensions.put("Image",stringToArrayList(getInitParameter("DeniedExtensionsImage")));
            
            allowedExtensions.put("Flash",stringToArrayList(getInitParameter("AllowedExtensionsFlash")));
            deniedExtensions.put("Flash",stringToArrayList(getInitParameter("DeniedExtensionsFlash")));
            
            if(debug) System.out.println("---- SimpleUploaderServlet initialization completed ----\r\n");
            
           }




           

          posted on 2008-05-08 01:26 龔椿深 閱讀(644) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 泽普县| 三江| 中阳县| 曲阜市| 芦山县| 新密市| 吉隆县| 托克逊县| 江孜县| 白城市| 额尔古纳市| 汽车| 北宁市| 锦州市| 张家口市| 二手房| 比如县| 潼南县| 舞阳县| 牙克石市| 拉孜县| 南岸区| 五台县| 皋兰县| 射阳县| 高陵县| 朝阳县| 天全县| 游戏| 社旗县| 札达县| 漾濞| 旌德县| 噶尔县| 西青区| 清徐县| 安新县| 江源县| 交口县| 霍林郭勒市| 东宁县|