ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
2016-09-20 14:56
507 查看
摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置好了上传路径信息,也会出现"未找到上传文件"的错误提示,出先该问题的原因是:在配置struts过滤器,过滤路径设置/*方式时,由于struts2框架默认使用apache的Commons FileUpload组件和内建的FileUploadInterceptor拦截器实现上传,会将request文件域封装到action中一个File类型的属性中,并删除request中的文件域,因此会上传文件失败。
在这里先说下ueditor1.3.6 jsp版文件上传的相关配置。
Ueditor的目录结构
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/477ee03dc5ff80952a5d530b6040ff79.jpg)
首页我们要在ueditor.config.js文件中配置ueditor的基本相对路径
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/d7f98c53b5f261f82d4de2eb3d47579b.jpg)
接下来看看图片上传的配置
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/00ff5c26cd05631fcad955ac164a8e2d.jpg)
我们可以看出图片上传是通过ueditor根目录下jsp目录下的imageUp.jap完成的。savePath为文件保存目录列表
会在下图中用到
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/76785f715936901cc92035ebe255c006.jpg)
对应的会在jsp目录下创建upload目录用于保存上传的图片
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/b49c9c01d782fdf68a2072945de22bd5.jpg)
最后我们打开imageUp.jsp页面,会看到该页面用到Uploader.java类,所以我们需要类路径下创建一个ueditor包并将Uploader.java类拷贝进去
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/bc3657d2f36bc677f4db8a7f2808d24d.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/9010942235b0f30f880a065f6b3bb4fb.jpg)
完成以上配置,当我们上传文件时,就会出现“未找到上传文件”的提示。
解决方案:
1.更改struts配置/*为*.xx的方式。(由于项目原因,该方式本人未亲试,若有读者实验过,请留言告知,谢谢)
2.自己写一个action代替原有的imageUp.jsp页面(貌似该方案比较麻烦)
3.自己定义一个struts过滤器,指定不对ueditor/jsp/目录下的jsp页面进行过滤。(该方案相对上一种就比较简单)
过滤器代码如下:
修改struts配置如下:
到此重启项目,再进行上传操作就不会再出错了哦!^_^
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/d420d7e17020901c212433a495d8ef43.jpg)
最后,希望大家转载请注明出处,尊重别人的劳动成果http://my.oschina.net/jiangli0502/blog/210263
参考资料:http://www.010cnc.net/subject/about/UEditor%20與Struts2%20結合下傳有關問題解決.html
在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置好了上传路径信息,也会出现"未找到上传文件"的错误提示,出先该问题的原因是:在配置struts过滤器,过滤路径设置/*方式时,由于struts2框架默认使用apache的Commons FileUpload组件和内建的FileUploadInterceptor拦截器实现上传,会将request文件域封装到action中一个File类型的属性中,并删除request中的文件域,因此会上传文件失败。
在这里先说下ueditor1.3.6 jsp版文件上传的相关配置。
Ueditor的目录结构
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/477ee03dc5ff80952a5d530b6040ff79.jpg)
首页我们要在ueditor.config.js文件中配置ueditor的基本相对路径
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/d7f98c53b5f261f82d4de2eb3d47579b.jpg)
接下来看看图片上传的配置
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/00ff5c26cd05631fcad955ac164a8e2d.jpg)
我们可以看出图片上传是通过ueditor根目录下jsp目录下的imageUp.jap完成的。savePath为文件保存目录列表
会在下图中用到
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/76785f715936901cc92035ebe255c006.jpg)
对应的会在jsp目录下创建upload目录用于保存上传的图片
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/b49c9c01d782fdf68a2072945de22bd5.jpg)
最后我们打开imageUp.jsp页面,会看到该页面用到Uploader.java类,所以我们需要类路径下创建一个ueditor包并将Uploader.java类拷贝进去
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/bc3657d2f36bc677f4db8a7f2808d24d.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/9010942235b0f30f880a065f6b3bb4fb.jpg)
完成以上配置,当我们上传文件时,就会出现“未找到上传文件”的提示。
解决方案:
1.更改struts配置/*为*.xx的方式。(由于项目原因,该方式本人未亲试,若有读者实验过,请留言告知,谢谢)
2.自己写一个action代替原有的imageUp.jsp页面(貌似该方案比较麻烦)
3.自己定义一个struts过滤器,指定不对ueditor/jsp/目录下的jsp页面进行过滤。(该方案相对上一种就比较简单)
过滤器代码如下:
package com.jl.filter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter{ @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String url = request.getRequestURI(); System.out.println(url); if (url.contains("/meeting/ueditor/jsp/")) { System.out.println("使用自定义过滤器"); chain.doFilter(req, res); }else{ System.out.println("使用默认过滤器"); super.doFilter(req, res, chain); } } }
修改struts配置如下:
<!-- 配置struts过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class>com.jl.filter.MyStrutsFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
到此重启项目,再进行上传操作就不会再出错了哦!^_^
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/14/d420d7e17020901c212433a495d8ef43.jpg)
最后,希望大家转载请注明出处,尊重别人的劳动成果http://my.oschina.net/jiangli0502/blog/210263
参考资料:http://www.010cnc.net/subject/about/UEditor%20與Struts2%20結合下傳有關問題解決.html
相关文章推荐
- ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
- ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
- ueditor1.4.3jsp版在上传图片报"未找到上传文件"解决方案
- jfinal+ueditor上传图片、文件报“未找到上传数据错误”的解决方案
- 关于ueditor 在struts2 中 上传图片 ,未找到上传文件 问题的解决方法
- UEditor1.4.3在Struts2中图片上传“未找到上传数据”问题
- 在struts2中实现文件上传(以图片上传为例)
- Android应用开发之(你必须知道的“文件上传时显示进度的解决方案”)
- IE8上传文件时javascript取文件的本地路径的问题(&quot;C:\fakepath\&quot;)的解决方案javascript
- KindEditor4 struts2 jsp 本地图片或文件上传
- type="file" 文件上传 取不到值解决方案
- ueditor 编辑器的配置 实现了上传图片与文件功能---附效果图
- 上传文件input tyle="file"文件的浏览按钮和文本框用图片替换的方法1
- Struts2上传文件带中文名时.图片显示会出现%乱码解决
- Flex 调用javascript上传文件读取文件的本地路径的一直是 "C:/fakepath/" 的解决方案
- 一个项目的数据库数据丢失,upload文件上传的图片都有,怎么能把数据库信息找到
- struts2开发环境中,enctype="multipart/form-data"上传文件时,request.getInputStream()为null的原因(转http://topic.csdn.net/u/20101210/11/78454a19-7
- struts2 文件上传(指定上传图片,单文件上传和批量上传放在一个jsp和Action中)
- 在struts2中上传图片 浏览器解析文件的不同类型
- struts2文件上传图片中文乱码