在成功把fckeditor整合进springMVC后,上传英文和数字为图片名的图片一切正常,
但是上传以中文命名的图片时页面会出现红叉,可图片的确是成功上传到服务器中的.
这个办法网上有很多,但实践出真知,只有手动才能知道最终的解决办法.
首先我查了网上;大体分两种,一种是通过给tomcat下的server.xml添加编码格式
但是更改后,在我的服务器上,tomcat报错.
这个方法行不通.
然后是通过更改jar包里的代码,使其实现编码的转化和图片名的更改来达到使中文名的图片
也能成功显示的功能.
感谢下面这边blog的作者
http://www.hencuo.com/archives/37
他的方法写的很详细,照着他一步一步的来,能成功的解决图片上传的问题
目前fckeditor的java版核心jar包最新为:fckeditor-java-core-2.6.jar。其解决了以前版本的创建中文文件和中文目录乱码的bug,但是仍然没有解决中文文件(图片)引用会显示红叉的问题。
在fckeditor-java-core-2.5.jar版本之前我们一般只需要重写 net.fckeditor.connector.ConnectorServlet中的dopost和doget方法,并在web.xml中重新配置 Servle即可,但是在2.5以后的版本中,这两个方法的具体实现却是在Dispatcher中来实现的,因此重写servlet已经不行了。因此我们必须得重写Dispatcher。
1:下载fckeditor-java-2.6-src.zip源文件.
2.:在你的工程目录下新建net.fckeditor.connector包,复制fckeditor-java-2.6\java-core\src\main\java\net\fckeditor\connector\Dispatcher.java文件到该包下.
3:编辑该文件. 在doGet成员方法下找到:
String newFolderNameStr = request.getParameter(“NewFolderName”);
在后面添加
String temp= new String(newFolderNameStr.getBytes("iso8859-1"),"utf-8");
newFolderNameStr = temp;.
4.修改上传文件的文件名【使名称变为当前时间(也可以使用UUID构造名称)】避免出现中文.找到doPost方法下的:
String fileName = FilenameUtils.getName(uplFile.getName());
在后面加上
String suffix = fileName.substring(fileName.lastIndexOf("."));
Calendar cad = Calendar.getInstance();
fileName = String.valueOf(cad.get(Calendar.YEAR))+String.valueOf(cad.get(Calendar.MONTH))+String.valueOf(cad.get(Calendar.DAY_OF_MONTH))+String.valueOf(cad.get(Calendar.HOUR_OF_DAY))+String.valueOf(cad.get(Calendar.MINUTE))+String.valueOf(cad.get(Calendar.SECOND));
fileName = fileName + suffix;
5.解压fckeditor-java-core-2.6.jar文件,并部署你的项目,在部署后的classes文件夹下找到你编译好的 Dispatcher.class文件替换 fckeditor-java-core-2.6.jar解压后的net.fckeditor.connector文件夹下的 Dispatcher.class,并且重新打包该文件。
6.重新将新打包生成的fckeditor-java-core-2.6.jar包导入到项目中,重新发布即可
打包步骤:
1、搭建jdk环境:在环境变量的path中将jdk所目录下的bin目录的路径加入到path中(否则在运用jar命令进行打包时会出现不是内部或外部命令的提示)
2、在cmd下cd到替换文件后了的fckeditor-java-core-2.6目录下
3、在命令行输入:jar cvf fckeditor-java-core-2.6.jar *.*
即可获得编辑后的jar包
BTW
附件是我编译后的fckeditor-java-core-2.6.jar包
替换项目里的fckeditor-java-core-2.6.jar包即可
写在最后:
fckeditor整合进springMVC花了我整整3天的时间.
中间碰到了几个难题.但是通过克服这些难题让我学到了很多,也多多少少的获得了一些成就感.
这3天给我最大的感受是中国目前的程序环境不是很理想.
网上虽然有很多的资料,但95%的资料是重复的.
很多都是直接ctr+c,ctr+v.而没有自己动手验证下是否正确.
或者说没有一点点原创的东西.而经过无数转贴后原帖早已不知所踪,想请教原帖作者都无法找到.
对那些能看到这个帖子的朋友
首先希望我的解决方法能解决掉你碰到的问题.
然后也希望在你解决一个问题后能分享出自己的方法.
而不仅仅是google -> 粘贴 -> 拷贝
在分享的过程也是一个自我总结的过程.
分享到:
相关推荐
在这个"springMVC图片上传示例"项目中,我们将深入探讨如何在SpringMVC环境中实现图片附件的上传功能,包括多图上传、图片预览及文本域传值。 一、SpringMVC概述 SpringMVC是Spring框架的一部分,它遵循模型-视图-...
SpringMVC-配置文档以及其中的说明。 包含使用注解、扫描带注解的包 、使用注解方式配置springMVC的映射器和适配器
在"SpringMVC一些配置文件的demo"中,我们可以深入理解SpringMVC的核心配置和工作流程。 1. **核心配置文件**:SpringMVC的配置通常在`dispatcher-servlet.xml`中进行,这是SpringMVC的前端控制器DispatcherServlet...
springmvc maven配置,里面有步骤,按照步骤搭建。
SpringBoot简化了SpringMVC的配置,它默认提供了基于Java的配置,并且不需要web.xml。你只需要在主类上添加`@SpringBootApplication`注解,SpringBoot就会自动扫描并启动SpringMVC。 1. 创建Controller:在...
"SpringMVC纯注解配置"是SpringMVC框架的一种高级用法,旨在减少XML配置文件的使用,提高开发效率和代码可读性。在这个主题中,我们将深入探讨如何利用注解实现SpringMVC的配置以及jQuery如何处理后台返回的JSON对象...
**SpringMVC4零配置详解** SpringMVC作为Spring框架的一部分,是用于构建Web应用程序的控制器层。在SpringMVC4版本中,引入了“零配置”概念,旨在简化开发流程,提高开发效率。本文将深入探讨SpringMVC4的零配置...
SpringMVC4.3.6配置json所需要的jar包,不是使用最新最高的版本可以的,我尝试了,有错误:严重: Servlet.service() for servlet [springMVC] in context with path [/30-returnVoid-ajax] threw exception [Handler...
SpringMVC解决中文乱码问题 SpringMVC 框架中,中文乱码问题是常见的问题之一。解决这个问题的关键是正确地配置字符编码。下面我们将详细介绍 SpringMVC 中解决中文乱码问题的思路和方法。 配置文件中的字符编码 ...
总结来说,基于Springmvc的图片上传和生成缩略图功能涉及以下几个关键步骤:配置Springmvc支持文件上传,编写Controller处理上传请求,生成并保存缩略图,以及与前端交互提供反馈。这些步骤都需要对Springmvc、文件I...
这是SpringMVC的2019配置,最近需要做一个项目配置的原始环境,可以运行,简单配置的修改,大家应该自己能懂,里面需要的jar包,都存在了,写了一个简单的首页,调用bootstrap,jquery风格,需要的同学,自己下载吧。
在本文中,我们将深入探讨如何使用SpringMVC和Ajax实现异步上传图片并实时显示的功能。这个技术组合常用于Web应用开发中,提供流畅的用户体验,避免页面刷新带来的不便。 首先,SpringMVC是Spring框架的一部分,专...
在这个项目中,我们主要关注的是如何在SSM框架下实现图片上传并将其信息存储到数据库,以及如何将已存储的图片信息回显出来。 首先,`Spring`作为核心容器,负责管理应用中的所有Bean,提供依赖注入(Dependency ...
springmvc的配置 使用spring管理所有的avabean 通过依赖注入来实现类的初始化 maven命令:将仓库jar包复制到lib目录下 mvn dependency:copy-dependencies -DoutputDirectory=war/WEB-INF/lib -DincludeScope=...
在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...
在这个主题中,我们将聚焦于如何在SpringMVC中配置Action,并结合CKEditor来实现图片的粘贴和上传功能。 CKEditor是一款广泛使用的富文本编辑器,它可以提供丰富的文本格式化选项,以及图片和多媒体内容的插入能力...
SSM框架整合是Java开发中常见的技术栈,主要包括Spring、SpringMVC和MyBatis三个核心组件。在本文中,我们将深入探讨SSM整合的第一阶段,即完成SpringMVC和Spring框架的配置。 首先,Spring框架是Java企业级应用的...
SpringMVC所有jar包和配置文件可以快速配置springmvc项目
java 配置文件:SpringMVC核心配置文件示例