博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ckeditor 实现图片上传以及预览(亲测有效)
阅读量:6369 次
发布时间:2019-06-23

本文共 5375 字,大约阅读时间需要 17 分钟。

引用ckeditor

 

删除imag.js中的文本

将image.js中的hidden属性值改为0(总之为false 就ok 了)

修改config.js属性
CKEDITOR.editorConfig = function(config) {
// Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; config.image_previewText = ''; config.removeDialogTabs = 'image:advanced;image:Link';//隐藏超链接与高级选项 config.filebrowserImageUploadUrl = "http://localhost:8888/moon-web/hello/upload";//上传图片的地址 }; 编写上传的代码(切记:不要用spring的上传方式{用spring的配置方式会出现各种各样的问题})
@RequestMapping(value="/upload") public void fileUpload(HttpServletRequest request, HttpServletResponse response) {
String DirectoryName = "uploads"; try {
ImageUploadUtil.ckeditor(request, response, DirectoryName); } catch (IllegalStateException e) {
e.printStackTrace(); } catch (IOException e) {
e.printStackTrace(); } }
package com.sun.test.aircraft.ckImg; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /**  * @Author:sun  * @version:  * @Description:  * @Date:Created in 10:34 2017/12/1  */ public class ImageUploadUtil {
// 图片类型 private static List
fileTypes = new ArrayList
(); static {
fileTypes.add(".jpg"); fileTypes.add(".jpeg"); fileTypes.add(".bmp"); fileTypes.add(".gif"); fileTypes.add(".png"); } /** * 图片上传 * */ public static String upload(HttpServletRequest request, String DirectoryName) throws IllegalStateException, IOException {
// 创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession() .getServletContext()); // 图片名称 String fileName = null; // 判断 request 是否有文件上传,即多部分请求 if (multipartResolver.isMultipart(request)) {
// 转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 取得request中的所有文件名 Iterator
iter = multiRequest.getFileNames(); while (iter.hasNext()) {
// 记录上传过程起始时的时间,用来计算上传时间 // int pre = (int) System.currentTimeMillis(); // 取得上传文件 MultipartFile file = multiRequest.getFile(iter.next()); if (file != null) {
// 取得当前上传文件的文件名称 String myFileName = file.getOriginalFilename(); // 如果名称不为“”,说明该文件存在,否则说明该文件不存在 if (myFileName.trim() != "") {
// 获得图片的原始名称 String originalFilename = file.getOriginalFilename(); // 获得图片后缀名称,如果后缀不为图片格式,则不上传 String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); if (!fileTypes.contains(suffix)) {
continue; } // 获得上传路径的绝对路径地址(/upload)--> String realPath = request.getSession().getServletContext().getRealPath("/" + DirectoryName); System.out.println(realPath); // 如果路径不存在,则创建该路径 File realPathDirectory = new File(realPath); if (realPathDirectory == null || !realPathDirectory.exists()) {
realPathDirectory.mkdirs(); } // 重命名上传后的文件名 111112323.jpg fileName = Math.random() + suffix; // 定义上传路径 .../upload/111112323.jpg File uploadFile = new File(realPathDirectory + "\\" + fileName); System.out.println(uploadFile); file.transferTo(uploadFile); } } // 记录上传该文件后的时间 // int finaltime = (int) System.currentTimeMillis(); // System.out.println(finaltime - pre); } } return fileName; } /** * ckeditor文件上传功能,回调,传回图片路径,实现预览效果。 * * @Title ckeditor * @param request * @param response * @param DirectoryName * 文件上传目录:比如upload(无需带前面的/) upload/.. * @throws IOException */ public static void ckeditor(HttpServletRequest request, HttpServletResponse response, String DirectoryName) throws IOException {
String fileName = upload(request, DirectoryName); // 结合ckeditor功能 // imageContextPath为图片在服务器地址,如upload/123.jpg,非绝对路径 String imageContextPath = request.getContextPath() + "/" + DirectoryName + "/" + fileName; response.setContentType("text/html;charset=UTF-8"); String callback = request.getParameter("CKEditorFuncNum"); PrintWriter out = response.getWriter(); out.println("
"); out.flush(); out.close(); } }
 

 

 

转载地址:http://bzrma.baihongyu.com/

你可能感兴趣的文章
SAP顾问的人脉比技术更为重要
查看>>
FI/CO PA考试试卷
查看>>
汽车介质应用非常严苛?没关系,新技术带来的高精度传感器十分适应!
查看>>
天合光能 - 用计算捕捉“光的能量”
查看>>
使用sysbench压力测试MySQL(一)(r11笔记第3天)
查看>>
css知多少(11)——position
查看>>
【Spring】定时任务详解实例-@Scheduled
查看>>
先有的资源,能看的速度看,不能看的,抽时间看。说不定那天就真的打不开了(转)...
查看>>
[20161028]rman与filesperset=1.txt
查看>>
哪些领域适合开发微信小程序
查看>>
谁说数据库防火墙风险大?可能你还不知道应用关联防护
查看>>
ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
查看>>
怎样做一个企业?尤其是在这个互联网时代
查看>>
DVNA:Node.js打造的开源攻防平台
查看>>
17个案例带你3分钟搞定Linux正则表达式
查看>>
Java 8 比较器:如何对 List 排序
查看>>
苹果是否步思科后尘折戟中国
查看>>
漏洞预警!微软曝光震网三代漏洞,隔离网面临重大危机
查看>>
协鑫集成第二批1000台E-KwBe光伏储能设备即将启运澳洲
查看>>
爱立信物联网广州路演
查看>>