問答中編輯富文字框中的圖片上傳不了
阿新 • • 發佈:2022-04-13
1.spring-servlet.xml新增下面的程式碼
<bean id="multipartResolver"
class="com.velcro.base.file.CustomCommonsMultipartResolver"> <!-- 設定上傳檔案的最大尺寸為500MB (10MB=10485760)-->
<property name="excludeUrls">
<list>
<value>/kms/team/thoto/add</value>
<value>/bbs/fileUpload</value>
<value>/kms/excel/importExcel</value>
</list>
</property>
<property name="maxUploadSize">
<value>524288000</value>
</property> <!--設定編碼,與jsp頁面編碼一致-->
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
</bean>
2.新增CustomCommonsMultipartResolver類
package com.velcro.base.file; import javax.servlet.http.HttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import java.util.List; /** * 不轉換request中的檔案流 * Controller裡的request物件是初始時HttpServletRequest的物件。剛開始認為fileList物件不會為空,但是卻空。主要原因在於我配置的spring MVC的檔案解析器如下: <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="10485760" /> </bean> 關鍵之處在於CommonsMultipartResolver中的方法parseRequest已經解析過request物件了. 自定義一個類 *@author ZamXie * */ public class CustomCommonsMultipartResolver extends CommonsMultipartResolver { private List<String> excludeUrls; public void setExcludeUrls(List<String> excludeUrls) { this.excludeUrls = excludeUrls; } public List<String> getExcludeUrls() {return excludeUrls; } @Override public boolean isMultipart(HttpServletRequest request) { String requestURL=request.getRequestURI(); if(requestURL.contains(".do")){ requestURL=requestURL.substring(0,requestURL.indexOf(".do")); if(excludeUrls.contains(requestURL)){ return false; }else{ return super.isMultipart(request); } } return false; } }
參考系統:cyy