關於使用struts2上傳文件時獲取不到文件內容的問題的解決方案

最近工做中須要用到批量上傳文件的功能,項目使用的是struts2,而後發如今後臺沒法獲取到文件的內容,在網上找了很久終於發現解決方案,特此記錄下來。ps:致使該問題的緣由是struts2把上傳的文件給過濾掉了,因此沒法獲取文件的內容。 java

解決方案: spring

在struts的配置文件裏添加這麼一段: apache

<constant name="struts.multipart.maxSize" value="115292150460" />
 <constant name="struts.multipart.saveDir" value="/tmp" />
 <constant name="struts.objectFactory" value="spring" />
 <constant name="struts.devMode" value="false" />
 
 <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"
  name="myRequestParser" class="com.ermsuite.common.fileUpload.RequestParseWrapper"
  scope="default" optional="true" />
 <constant name="struts.multipart.handler" value="myRequestParser" />

注意紅字部分必須填,而且在相應的路徑下新建java文件,裏面的內容爲: app

 

package com.ermsuite.common.fileUpload; ui

import java.io.IOException; spa

import javax.servlet.http.HttpServletRequest; ip

import org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest; servlet

public class RequestParseWrapper extends JakartaMultiPartRequest {
 
  public void parse(HttpServletRequest servletRequest, String saveDir)throws IOException
     {
    }  it

} io

儘管該java文件裏面什麼都沒有,但仍是必需要有。這樣你就能獲取你上傳的文件的值了。

相關文章
相關標籤/搜索