`

解决ueditor保存本地成功 找不到数据

 
阅读更多

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对 request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到 需要上传的内容导致“未找到上传文件”的错误!

 
参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类。由于我们的工程中可能会 有其他的上传等功能,为了不影响其他功能的时候,还需要再添加一个过滤器,这个过滤器的作用是:只针对ueditor的上传功能。
 
具体在java中使用ueditor需要修改和配置的地方,百度上很相关方面的资料,这里就不说明了,这里只说明解决“未找到上传文件”错误的方法。
 
具体的解决方法如下:
 
注意:文章的xml内容中尖括号和英文之间有空格,复制到配置文件中的时候要删掉空格,这里有空格的话新浪会把标签过滤掉,所以这里就加上了空格,这里要注意!!!
 
第一步:重写struts2的转换器,重写类的内容如下:
 
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest;
 
public class RequestParseWrapper extends JakartaMultiPartRequest {
public void parse(HttpServletRequest servletRequest, String saveDir)throws IOException 
    {
 
   }  
}
这里的方法是一个空方法,但是必须要有
 
第二步:配置struts.xml,作用是让struts2使用我们的这个转换器,配置方法是在struts.xml中添加以下配置
< bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"
name="myRequestParser" class="com.lsra.tools.uedior.RequestParseWrapper"
scope="default" optional="true" />
< constant name="struts.multipart.handler" value="myRequestParser" />
 
bean标签中的name是自定义的,class的值是我们重写的转换器所在的位置
constant标签中的value要和bean中的name保持一致,其他的不需要修改
 
第三步:创建一个过滤器,用来过滤ueditor的上传请求,过滤器代码如下:
 
import java.io.IOException;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
 
import org.apache.struts2.dispatcher.StrutsRequestWrapper;
 
public class UeditorFilter implements Filter {
 
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String url = request.getRequestURI();
if (decideURI(url)) {
chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) req), res);
}else{
chain.doFilter(req, res);
}
}
private boolean decideURI(String url){
if(url.endsWith("imageUp.jsp")){
return true;
}else if(url.endsWith("fileUp.jsp")){
return true;
}
return false;
}
}
这里的decideURI方法中只过滤了这两个ueditor的jsp页面,如果你的工程中还有其他和这两个jsp重名的页面,最好这里改成ueditor中这两个页面的全路径。
 
第四步:在工程web.xml中配置这个过滤器,这个过滤器要放在struts2拦截器的前面,如下:
 
<filter>
<filter-name>ueditorFilter</filter-name>
<filter-class>
com.lsra.tools.uedior.UeditorFilter
</filter-class>
</filter>
 
<filter-mapping>
<filter-name>ueditorFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
 
filter-mapping标签一定要配置到struts2拦截器的前面
文章来源:http://blog.sina.com.cn/s/blog_63b470180102ux4a.html
分享到:
评论

相关推荐

    UEditor(五)——解决上传图片时报错:未找到上传数据

    总之,解决UEditor上传图片时报错“未找到上传数据”的问题,需要从服务器端配置、URL设置、后端代码、权限以及返回数据格式等方面进行排查。同时,熟悉和利用好提供的库文件,可以更高效地实现文件上传功能。

    ueditor导入本地word并编辑.rar

    【标题】"ueditor导入本地word并编辑"指的是在网页端使用UEditor这款富文本编辑器,实现将本地的Word文档导入并进行编辑的功能。UEditor是一款强大的在线文本编辑工具,广泛应用于网站内容管理和编辑,它提供了丰富...

    百度UEditor自定义上传图片存储路径为本地路径

    默认情况下,UEditor会将图片上传到其提供的服务器,但为了数据安全和性能优化,许多开发者会选择将图片保存在本地服务器。 二、自定义图片上传路径 1. 配置项修改:首先,你需要在UEditor的配置文件(通常名为`...

    ueditor上传图片到ftp

    然而,ueditor不仅仅局限于本地存储,还可以通过配置实现将用户上传的图片直接保存到FTP服务器上,这样既解决了本地存储的压力,又方便了数据的远程管理和备份。以下将详细讲解ueditor如何实现与FTP服务器的集成。 ...

    ueditor上传图片到七牛(CSharp版本)

    通过以上步骤,你就可以实现ueditor编辑器中的图片直接上传到七牛云存储,结合C#后端处理,提供了高效且安全的图片管理解决方案。在实际应用中,你可能还需要考虑如何实现图片的分类管理、预览、删除等额外功能,...

    UEditor图片上传到后台

    接口需要解析UEditor发送的请求体,从中获取图片数据并保存到服务器的某个目录下。 2. 文件存储:服务器端可以使用文件系统、数据库或者云存储服务(如阿里云OSS、七牛云存储)来保存图片。图片的文件名可以使用...

    修改百度的UEditor,实现图片上传到项目外的路径

    默认情况下,UEditor会尝试将这些图片保存到本地服务器,而不是保留原始链接。为了改变这种行为,我们需要修改UEditor的配置,使其在粘贴时保持图片的外部链接。这可以通过设置`pasteImgLinkFilter`函数来实现。这个...

    ueditor完美支持word导入自动转存,无需flash

    总的来说,ueditor是一个强大的富文本编辑器,其word导入功能解决了网络内容创作中的一个痛点,使得从Word到网页的转换变得更加便捷。通过理解并利用提供的这些文件,开发者可以快速集成ueditor到自己的项目中,为...

    SSH的ueditor使用

    5. **脚本编程**:在服务器端,可能需要编写脚本来自动化处理UEditor上传的文件,比如通过shell脚本接收上传请求,保存文件到指定位置,并返回成功或失败的反馈信息。 6. **前后端交互**:在前端,UEditor通常有一...

    ueditor-springboot-demo

    8. **文件存储策略**:根据实际需求,选择本地存储、云存储(如阿里云OSS、腾讯COS)等方式来保存UEditor上传的文件,并配置对应的存储路径。 9. **部署WAR**:将打包好的WAR文件部署到支持SpringBoot的服务器(如...

    Ueditor百度编辑器JSP版

    - **处理上传请求**:由于Ueditor默认使用异步方式上传文件,因此需要在后端编写处理这些请求的Java代码,接收并保存上传的文件,返回成功或失败的响应。 **3. 自定义配置** Ueditor允许开发者自定义其配置,以...

    ueditor完整实例jsp版(可上传图片、视频、文件)

    ueditor通过AJAX请求将上传的数据发送到服务器,这就需要后端接收到这些请求并处理文件存储。 2. Java后端处理:由于标签提及了"java",我们可以推断出在处理ueditor上传的图片、视频和文件时,后台可能使用Java来...

    ueditor for bos

    这一特性极大地提高了用户体验,因为用户不再需要先将文件保存在本地,然后通过其他方式上传到服务器。具体实现这一功能的步骤可以参考链接给出的博客文章,其中详细描述了如何配置ueditor以对接BOS,包括设置上传...

    百度ueditor富文本编辑器

    在Java开发环境中,使用百度UEditor通常需要引入相关的jar包,以便于与服务器端进行数据交互和功能集成。 在Java项目中,我们常常依赖Maven这样的构建工具来管理项目的依赖。然而,有时Maven仓库中可能并不包含某些...

    百度ueditor编辑器jsp版本

    UEditor可以通过AJAX实现与服务器的数据交互,如图片上传、内容保存等。开发者需要编写后端接口来接收并处理这些请求。 四、优化与性能 4.1 响应式设计 UEditor支持响应式布局,能在不同设备和屏幕尺寸上提供良好...

    百度富文本编辑器UEditor 1.4.3版本

    9. **API接口**:提供了丰富的API和事件监听,方便开发者进行二次开发,与后端系统进行交互,实现数据的动态加载和保存。 10. **兼容性**:UEditor 1.4.3版本通常会兼容主流浏览器,如Chrome、Firefox、Safari、IE...

    html在线编辑器ueditor标准版

    它集成了与Java服务器端交互的能力,通过AJAX技术实现数据的实时保存和同步,使得用户在不刷新页面的情况下即可完成内容的创建和修改。此外,Ueditor提供了强大的API接口,允许开发者根据项目需求进行定制化开发,如...

    ueditor 上传图片

    ueditor 会将图片数据POST到这个地址,并期望返回一个包含图片URL的JSON响应。例如: ``` serverUrl: "/upload/image" ``` 3. **图片上传流程** - 用户在编辑器中点击“插入图片”按钮,ueditor 会弹出图片选择...

    ueditor1_4_3_3-utf8-asp.rar

    ueditor支持Ajax提交,可以在不刷新页面的情况下完成内容的保存,提高了网页的响应速度和用户体验。 四、utf8-asp文件内容解析 "utf8-asp"文件名表明这是针对UTF-8编码和ASP环境的版本。在这个压缩包中,通常会...

    ueditor-dev-1.5.0【ueutf8-php】

    总的来说,"ueditor-dev-1.5.0【ueutf8-php】"为开发者提供了一个快速集成和使用的富文本编辑器解决方案,特别是对于那些不熟悉或者不愿意进行编译过程的用户来说,这是一个非常方便的选择。通过合理的配置和使用,...

Global site tag (gtag.js) - Google Analytics