java如何使用ckeditor实现图片上传功能,具体内容如下

1.根据实际需要下载指定的ckeditor

2.删除文件ckeditor/plugins/image/dialogs/image.js预览框中文本内容,并修改hidden属性值为显示上传选项卡

删除image.js中包含在双引号中的上述文本

将image.js中的hidden属性值改为0

3.修改ckeditor/config.js文件,配置“上传到服务器”按钮调用的controller接口

4.“上传到服务器”按钮调用的controller级别的接口

@controller

@requestmapping("publicutil")

public class publicutilcontroller {

@requestmapping(value = "uploadimage")

private void uploadimage(httpservletrequest request, httpservletresponse response, httpsession session,@requestparam multipartfile[] upload) {

response.setcharacterencoding("utf-8");

printwriter out=null;

try {

out = response.getwriter();

} catch (ioexception e1) {

logger.error("response.getwriter()异常="+e1);

e1.printstacktrace();

}

string callback = request.getparameter("ckeditorfuncnum");

// 获得response,request

map m = new hashmap();

if (!servletfileupload.ismultipartcontent(request)) {

m.put("error", 1);

m.put("message", "请选择文件!");

//return m;

logger.info("请选择文件!");

}

string originalfilename=null;//上传的图片文件名

string fileextensionname=null;//上传图片的文件扩展名

for (multipartfile file : upload) {

if (file.getsize()> 10*1024* 1024) {

out.println("

out.println("window.parent.ckeditor.tools.callfunction(" + callback

+ ",''," + "'文件大小不得大于10m');");

out.println("");

}

originalfilename=file.getoriginalfilename();

logger.info("上传的图片文件名="+originalfilename);

fileextensionname= originalfilename.substring(

originalfilename.lastindexof(".") ,originalfilename.length()).tolowercase();

logger.info("图片文件扩展名="+fileextensionname);

string[] imageextensionnamearray= websiteconstant.image_extension_name_array;

string allimageextensionname="";

boolean iscontain=false;//默认不包含上传图片文件扩展名

for(int i=0;i

if(fileextensionname.equals(imageextensionnamearray[i])){

iscontain=true;

}

if(i==0){

allimageextensionname+=imageextensionnamearray[i];

}else{

allimageextensionname+=" , "+imageextensionnamearray[i];

}

}

string newfilename=java.util.uuid.randomuuid().tostring()+fileextensionname;

string uploadpath =websiteconstant.pic_app_file_system_ckeditor_location;

if(iscontain){//包含

file pathfile = new file(uploadpath);

if (!pathfile.exists()) { // 如果路径不存在,创建

pathfile.mkdirs();

}

try {

fileutils.copyinputstreamtofile(file.getinputstream(), new file(uploadpath ,newfilename));

// inputstream is=file.getinputstream();

// file tofile = new file(uploadpath, newfilename);

// outputstream os = new fileoutputstream(tofile);

// byte[] buffer = new byte[1024];

// int length = 0;

// while ((length = is.read(buffer)) > 0) {

// os.write(buffer, 0, length);

// }

// is.close();

// os.close();

} catch (ioexception e) {

logger.error("fileutils.copyinputstreamtofile uploadpath="+uploadpath+" newfilename ="+newfilename+" exception="+e);

}

string imageurl=websiteconstant.pic_app_server_url+"images/ckeditor/"+newfilename;

// 返回"图像信息"选项卡并显示图片 ,在对应的文本框中显示图片资源url

out.println("

out.println("window.parent.ckeditor.tools.callfunction(" + callback

+ ",'" +imageurl + "','')");

out.println("");

}else{

out.println("

out.println("window.parent.ckeditor.tools.callfunction(" + callback

+ ",''," + "'文件格式不正确(必须为"+allimageextensionname+"文件)');");

out.println("");

}

}

}

}

public class websiteconstant {

public static string[] image_extension_name_array={".jpg",".jpeg",".png",".gif",".bmp"};

public static string pic_app_server_url="http://localhost:8090/picture/";

public static string pic_app_file_system_ckeditor_location="/users/abc/documents/tomcat/webapps/picture/images/ckeditor/";

public static final int success = 1; // 操作成功

5.若是在maven项目中使用的ckeditor,需要在pom.xml中添加如下代码:

com.ckeditor

ckeditor-java-core

3.5.3

6.最终效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

ckeditor java 上传_java使用CKEditor实现图片上传功能相关推荐

  1. java struts2 上传图片_Java框架Struts2实现图片上传功能

    Struts 2 框架为处理文件上传提供了内置支持,它使用"在 HTML 中基于表单的文件上传".当上传一个文件时,它通常会被存储在一个临时目录中,而且它们应该由 Action 类 ...

  2. kindeditor java 上传图片_java中KindEditor本地图片上传与上传失败问题

    此代码是最新版的 KindEditor 3.5.x 实现本地图片上传的方法,用于oschina即将改版的个人空间 KindEditor 要求的JSON格式如下: {"error": ...

  3. java上传网络图片_java网络编程之图片上传

    输入输出流核心代码 所有的文件传输都是靠流,其中文件复制最具代表性.输入流和输出流,从输入流中读取数据写入到输出流中. InputStream in =输入源; OutputStream os=输出目 ...

  4. java 微信图片上传_微信小程序图片上传java端以及前端实现

    小程序的图片上传与传统的图片上传方式有一些不一样 如果你有幸看到这篇文章,恭喜你,你可以完美解决了. 话不多说,前后端代码一并奉上: (基于springmvc ) @Controller @Reque ...

  5. JAVA通过阿里云OSS存储实现图片上传功能

    一.前置准备 首先我们需要在阿里云注册账号,实名认证后开通OSS功能,点击进入OSS功能的管理平台 进入概览页面后,点击Bucket列表,创建一个Bucket(相当于一个存放文件的文件夹)  关键是要 ...

  6. java canvas添加图片上传_HTML5 canvas画图及图片上传服务器

    上一个教程中我们实现了使用html5 canvas来制作涂鸦画板的效果,在这个教程中,我们将讲解如何将画好的图片上传到服务器上. 最后的效果如下图,当点击"开始画图"按钮,将在ca ...

  7. java多图片上传json_SpringMVC框架五:图片上传与JSON交互

    在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: 在 ...

  8. java标量替换_JAVA逃逸分析、栈上分配、标量替换、同步消除

    一.逃逸分析 逃逸分析是编译语言中的一种优化分析,而不是一种优化的手段.通过对象的作用范围的分析,为其他优化手段提供分析数据从而进行优化. 逃逸分析包括: 全局变量赋值逃逸 方法返回值逃逸 实例引用发 ...

  9. java中上传图片的原理_js实现图片上传预览原理分析

    目前网上有很多支持图片上传时进行预览的插件,功能完备,界面优雅,使用起来也很方便.一直以来也就只是用用,没有想过这些插件背后的实现原理.趁着今天有点时间,也来学习学习. 追根溯源 设想 一开始,按照我 ...

最新文章

  1. hibernate相关收集
  2. 第十五届全国大学生智能汽车竞赛全国总决赛提交技术报告通知
  3. git代码回滚的几种方式
  4. 全明星基金季卫东: 重仓新经济冠军,投资“幸福生活“
  5. 判断目录是否存在并创建mkdir
  6. linux中权限对文件和目录的意义
  7. Angular使用Console.log()打印出来的数据没问题,点击详情后数据变了
  8. First集、Follow集
  9. Mysiam锁模式 innodb锁模式 是什么区别
  10. Unity3d资源包的使用心得
  11. hive sql 添加字段以及修改字段
  12. 图灵机器人api接入测试
  13. Javo 基础 流的分类
  14. Mac上如何完美的转换epub至mobi供kindle观看
  15. 聊聊Hadoop DistCp的数据切分处理方式
  16. 删除linkinfo.dll
  17. XJTU第八周大计基编程作业
  18. 0基础学习Linux运维的必经之路
  19. 半导体设备基本通信标准介绍系列之-开篇
  20. VC 工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)

热门文章

  1. IDE 插件新版本发布,总有一个功能帮到你——开发部署提速 8 倍
  2. 互联网全域降维攻击战略概述
  3. 十年磨一剑:从2009启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一
  4. 如何抢占云栖大会C位?史上最强强强攻略来了
  5. 支付宝这些程序员要逆天,滑板、画漫画、写科幻小说、航拍,玩得太溜
  6. 彻底理解内存泄漏,memory leak
  7. 十强决赛即将拉开帷幕!TECHSPARK星星之火IT创新大赛诚邀您观赛
  8. 数字时代企业信息安全如何保障? VMware原生安全前来“保驾护航”
  9. Nutanix企业云助力嘉里大通提升核心竞争力
  10. 聚焦技术和实践,腾讯全面揭秘基础设施和大数据演进之路