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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 德化县| 丹巴县| 通江县| 上虞市| 台东县| 中阳县| 体育| 抚顺市| 大竹县| 华阴市| 肃宁县| 突泉县| 二连浩特市| 梧州市| 潢川县| 怀柔区| 高阳县| 柳河县| 娄烦县| 荃湾区| 宕昌县| 卓尼县| 兴安县| 玉山县| 土默特右旗| 黄骅市| 涪陵区| 海伦市| 临洮县| 塔河县| 射洪县| 兰坪| 鸡西市| 新郑市| 资兴市| 隆德县| 军事| 昌吉市| 安平县| 岫岩| 交城县|