`
liukai
  • 浏览: 706397 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

springMVC下配置fckeditor2.6.6之三fckeditor中文图片上传不了的解决办法

    博客分类:
  • java
阅读更多
在成功把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 -> 粘贴 -> 拷贝
在分享的过程也是一个自我总结的过程.

分享到:
评论
4 楼 innger 2012-04-30  
lz 你好,我也遇到这个问题,没有这么复杂,
只需要在tomcat 7 里面配置一下URIEncoding = "UTF-8"
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding = "UTF-8"/>
就可以解决中文问题了,
而且我觉得解决中文问题应该 从编码解码入手,而不是避开它
3 楼 iamaj2eeprogrammer 2012-02-03  
    
2 楼 ljjr13 2010-12-31  
一直上传不了图片,怎么回事?
1 楼 1柳梦狂1 2010-10-16  
首先,非常感谢楼主的无私分享,
经过N次的修改本已放弃FCKeditor的我在看到这几帖子后又燃起了希望。
然后BS下那些没经测试就乱贴的**。

相关推荐

    springMVC图片上传示例

    在这个"springMVC图片上传示例"项目中,我们将深入探讨如何在SpringMVC环境中实现图片附件的上传功能,包括多图上传、图片预览及文本域传值。 一、SpringMVC概述 SpringMVC是Spring框架的一部分,它遵循模型-视图-...

    SpringMVC-配置文档

    SpringMVC-配置文档以及其中的说明。 包含使用注解、扫描带注解的包 、使用注解方式配置springMVC的映射器和适配器

    SpringMVC一些配置文件的demo

    在"SpringMVC一些配置文件的demo"中,我们可以深入理解SpringMVC的核心配置和工作流程。 1. **核心配置文件**:SpringMVC的配置通常在`dispatcher-servlet.xml`中进行,这是SpringMVC的前端控制器DispatcherServlet...

    springmvc maven配置

    springmvc maven配置,里面有步骤,按照步骤搭建。

    SpringMVC基于代码的配置方式(零配置,无web.xml)

    SpringBoot简化了SpringMVC的配置,它默认提供了基于Java的配置,并且不需要web.xml。你只需要在主类上添加`@SpringBootApplication`注解,SpringBoot就会自动扫描并启动SpringMVC。 1. 创建Controller:在...

    SpringMVC纯注解配置

    "SpringMVC纯注解配置"是SpringMVC框架的一种高级用法,旨在减少XML配置文件的使用,提高开发效率和代码可读性。在这个主题中,我们将深入探讨如何利用注解实现SpringMVC的配置以及jQuery如何处理后台返回的JSON对象...

    SpringMVC4零配置

    **SpringMVC4零配置详解** SpringMVC作为Spring框架的一部分,是用于构建Web应用程序的控制器层。在SpringMVC4版本中,引入了“零配置”概念,旨在简化开发流程,提高开发效率。本文将深入探讨SpringMVC4的零配置...

    SpringMVC4.3.6配置json所需要的jar包

    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的上传图片并生成缩略图

    总结来说,基于Springmvc的图片上传和生成缩略图功能涉及以下几个关键步骤:配置Springmvc支持文件上传,编写Controller处理上传请求,生成并保存缩略图,以及与前端交互提供反馈。这些步骤都需要对Springmvc、文件I...

    2019-SpringMVC配置

    这是SpringMVC的2019配置,最近需要做一个项目配置的原始环境,可以运行,简单配置的修改,大家应该自己能懂,里面需要的jar包,都存在了,写了一个简单的首页,调用bootstrap,jquery风格,需要的同学,自己下载吧。

    SpringMVC+Ajax异步上传图片并显示(源码)

    在本文中,我们将深入探讨如何使用SpringMVC和Ajax实现异步上传图片并实时显示的功能。这个技术组合常用于Web应用开发中,提供流畅的用户体验,避免页面刷新带来的不便。 首先,SpringMVC是Spring框架的一部分,专...

    SSM(Spring+SpringMvc+Mybatis)图片上传保存到数据库与回显+sql

    在这个项目中,我们主要关注的是如何在SSM框架下实现图片上传并将其信息存储到数据库,以及如何将已存储的图片信息回显出来。 首先,`Spring`作为核心容器,负责管理应用中的所有Bean,提供依赖注入(Dependency ...

    springmvc的配置

    springmvc的配置 使用spring管理所有的avabean 通过依赖注入来实现类的初始化 maven命令:将仓库jar包复制到lib目录下 mvn dependency:copy-dependencies -DoutputDirectory=war/WEB-INF/lib -DincludeScope=...

    SpringMVC配置多数据源实战

    在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...

    springMVC的action配置+ckeditor

    在这个主题中,我们将聚焦于如何在SpringMVC中配置Action,并结合CKEditor来实现图片的粘贴和上传功能。 CKEditor是一款广泛使用的富文本编辑器,它可以提供丰富的文本格式化选项,以及图片和多媒体内容的插入能力...

    ssm框架整合的第一个阶段:完成了springmvc框架的配置和spring框架的配置

    SSM框架整合是Java开发中常见的技术栈,主要包括Spring、SpringMVC和MyBatis三个核心组件。在本文中,我们将深入探讨SSM整合的第一阶段,即完成SpringMVC和Spring框架的配置。 首先,Spring框架是Java企业级应用的...

    SpringMVC所有jar包和配置文件

    SpringMVC所有jar包和配置文件可以快速配置springmvc项目

    配置文件:SpringMVC核心配置文件示例

    java 配置文件:SpringMVC核心配置文件示例

Global site tag (gtag.js) - Google Analytics