ueditor1.3.6jsp版在struts2應用中上傳圖片報"未找到上傳檔案"解決方案

來源:互聯網
上載者:User

標籤:

摘要: ueditor1.3.6jsp版在struts2應用中上傳圖片報"未找到上傳檔案"解決方案

在struts2應用中使用ueditor富文字編輯器上傳圖片或者附件時,即使配置好了上傳路徑資訊,也會出現"未找到上傳檔案"的錯誤提示,出先該問題的原因是:在配置struts過濾器,過濾路徑設定/*方式時,由於struts2架構預設使用apache的Commons FileUpload組件和內建的FileUploadInterceptor攔截器實現上傳,會將request檔案域封裝到action中一個File類型的屬性中,並刪除request中的檔案域,因此會上傳檔案失敗。

在這裡先說下ueditor1.3.6 jsp版檔案上傳的相關配置。

Ueditor的目錄結構

首頁我們要在ueditor.config.js檔案中配置ueditor的基本相對路徑

接下來看看圖片上傳的配置

我們可以看出圖片上傳是通過ueditor根目錄下jsp目錄下的imageUp.jap完成的。savePath為檔案儲存目錄列表

會在中用到

對應的會在jsp目錄下建立upload目錄用於儲存上傳的圖片

最後我們開啟imageUp.jsp頁面,會看到該頁面用到Uploader.java類,所以我們需要類路徑下建立一個ueditor包並將Uploader.java類拷貝進去

完成以上配置,當我們上傳檔案時,就會出現“未找到上傳檔案”的提示。

解決方案:

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{@Overridepublic 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>

 

 

到此重啟項目,再進行上傳操作就不會再出錯了哦!^_^

最後,希望大家轉載請註明出處,尊重別人的勞動成果http://my.oschina.net/jiangli0502/blog/210263

 

 

參考資料:http://www.010cnc.net/subject/about/UEditor%20與Struts2%20結合下傳有關問題解決.html

ueditor1.3.6jsp版在struts2應用中上傳圖片報"未找到上傳檔案"解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.