ckeditor for java 如何上傳圖片

需要做的有以下幾步: 
1. 到官網下載ckeditor
2. 複製到java web項目目錄下 
3. 配置config文件,打開圖片上傳功能 
 
CKEDITOR.editorConfig = function (config) {
// 換行方式
 config.enterMode = CKEDITOR.ENTER_BR;
 // 當輸入:shift+Enter是插入的標籤
 config.shiftEnterMode = CKEDITOR.ENTER_BR;// 
 //圖片處理
 config.pasteFromWordRemoveStyles = true;
 config.filebrowserImageUploadUrl = "ckUploadImage.action?type=image";
 
 // 去掉ckeditor“保存”按鈕
 config.removePlugins = 'save';
};
 
4. java後臺處理代碼
// 上傳圖片
 @Action(value = "/ckUploadImage", results = { @Result(name = "success", location = "/upload.jsp") })
 public String uploadImages() throws Exception {
  HttpServletRequest request = ServletActionContext.getRequest();
  FileOutputStream fos;
  String webRoot = request.getSession().getServletContext().getRealPath(
    "");
  // 獲取圖片後綴名
  String partRightType = uploadFileName.substring(uploadFileName
    .lastIndexOf("."));
  String CKEditorFuncNum = request.getParameter("CKEditorFuncNum");
  // 判斷圖片的格式
  if (!ImageFile.checkImageType(partRightType)) {
   String path = "";
   String alt_msg = "Sorry! Image format selection is incorrect, please choose GIF, jpeg, PNG format JPG, picture!";
   pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
     + CKEditorFuncNum
     + ", '"
     + path
     + "' , '"
     + alt_msg
     + "');</script>");
  } else {
   try {
    uploadFileName = DateUtils.getDateNoStyle() + "-"
      + UUID.randomUUID() + partRightType;
    String savePath = webRoot + Constants.UPLOAD_IMAGES_PATH;
    File uploadFilePath = new File(savePath);
    if (uploadFilePath.exists() == false) {
     uploadFilePath.mkdirs();
     System.out.println("路徑不存在,但是已經成功創建了" + savePath);
    } else {
     System.out.println("路徑存在了" + savePath);
    }
    fos = new FileOutputStream(new File(savePath + uploadFileName));
    FileInputStream fis = new FileInputStream(getUpload());
    byte[] buffer = new byte[1024];
    int len = 0;
    while ((len = fis.read(buffer)) > 0) {
     fos.write(buffer, 0, len);
    }
    fos.close();
    fis.close();
   } catch (FileNotFoundException foe) {
    System.out.println("上傳文件爲0字節");
   }
   // String path = "http://" + request.getServerName() + ":"
   // + request.getServerPort() + request.getContextPath()
   // + Constants.UPLOAD_IMAGES_PATH + uploadFileName;
   String path = request.getContextPath()
     + Constants.UPLOAD_IMAGES_PATH + uploadFileName;
   String alt_msg = "";
   pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
     + CKEditorFuncNum
     + ", '"
     + path
     + "' , '"
     + alt_msg
     + "');</script>");
  }
  return null;
 }
 
* 其實重點的代碼就是這點
pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" 
+ CKEditorFuncNum 
+ ", '" 
+ path 
+ "' , '" 
+ alt_msg 
+ "');</script>");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章