ckeditor 配置图片上传
ckeditor官网下载地址 https://ckeditor.com/ckeditor-4/download/
选择完整版下载 - Full package

默认本地上传是没有开启的 需要手动开启
找到ckeditor/plugins/image/dialogs/image.js文件 打开
然后搜索 id:"Upload",hidden 默认值是!0 我们改成0即可

配置上传地址
ckeditor中需要配置我们自己的上传请求地址
找到ckeditor下的config.js 打开 添加如下内容
config.filebrowserUploadUrl="/admin/film/ckeditorUpload";
config.image_previewText=' ';// 预览区域内容改为空白 否则会有图片和文字
ckeditor的上传路径配置完成后 还需要创建controller进行处理
处理上传图片的controller
package com.et.controller.admin;
import com.et.util.DateUtil;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
/**
* @Author: ETJAVA
* @CreateTime: 2024-04-15 17:49
* @Description: TODO 后台文件上传
* @Version: 1.0
*/
@RestController
@RequestMapping("/admin/film/")
public class AdminFilmController {
// imageFilePath: C:\Users\etjav\Desktop\Demo\film\src\main\resources\static\filmImage\
@Value("${imageFilePath}")
private String imageFilePath;
/**
* 上传图片
* @param file
* @return
*/
@ResponseBody
@RequestMapping("/ckeditorUpload")
public String ckeditorUpload(@RequestParam("upload") MultipartFile file, String CKEditorFuncNum)throws Exception{
// 获取文件名
String fileName = file.getOriginalFilename();
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
String newFileName= DateUtil.getCurrentDateStr()+suffixName;
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(imageFilePath+newFileName));
StringBuffer sb=new StringBuffer();
sb.append("<script type=\"text/javascript\">");
sb.append("window.parent.CKEDITOR.tools.callFunction("+ CKEditorFuncNum + ",'" +"/filmImage/"+ newFileName + "','')");
sb.append("</script>");
return sb.toString();
}
}
