1. 程式人生 > 其它 >問答中編輯富文字框中的圖片上傳不了

問答中編輯富文字框中的圖片上傳不了

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