1. 程式人生 > >Struts2上傳檔案過大解決方案

Struts2上傳檔案過大解決方案

上傳檔案過大報的異常如下:

[@[email protected]] ERROR [http-80-3] MultiPartRequest.parse(130) | org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (102147245) exceeds the configured maximum (50097152)

[@[email protected]] ERROR [http-80-3] FileUploadInterceptor.intercept(227) | the request was rejected because its size (102147245) exceeds the configured maximum (50097152)
 

解析:這個最大值是在struts2的原始檔“struts2-core-2.0.11.1.jar\org\apache\struts\ default.properties”中的struts.multipart.maxSize=2097152語句,如果想改大的話,就重新設定它,有兩種方法:

一種是重寫:struts.properties檔案。

二是在struts.xml中加入常量來改變它如“ Java程式碼
<constant name="struts.multipart.maxSize" value="10000000" />

當然了,也有struts2的攔截器可以限制檔案的型別、大小等,但是當上傳檔案大小2M後,這個攔截器就不起作用了,只用小於2M(預設大小)的時候才起作用。那是因為:common-fileupload元件預設最大支援上傳檔案的大小為2M,當我們上傳大於2M的檔案時,就會出現上面所說的異常。是這個異常的發生導致了fileUpload攔截器沒有機會執行,所以看到的是頁面沒有任何變化,也沒有任何提示資訊,只是在控制檯打印出了上面的那些上傳檔案過大的異常。


我解決問題的過程:


剛開始只是在struts.xml檔案最上部加入

<constant name="struts.multipart.maxSize" value="1000000000" />

但還是報同樣的錯誤。

接著檢視struts.properties檔案裡的配置為:

### Load custom default resource bundles
struts.custom.i18n.resources=MessageResource
struts.multipart.maxSize=50097152


### character encoding
struts.i18n.encoding=GBK
 

修改為

### Load custom default resource bundles
struts.custom.i18n.resources=MessageResource
struts.multipart.maxSize=1000000000

### character encoding
struts.i18n.encoding=GBK

問題就解決了。

原文連結:http://www.diybl.com/course/4_webprogram/php/phpxl/2008917/143270.html




相關推薦

Struts2檔案解決方案

上傳檔案過大報的異常如下: [@[email protected]] ERROR [http-80-3] MultiPartRequest.parse(130) | org.apache.commons.fileupload.FileUploadBase$Size

Linux下日誌檔案解決方案

很多Linux伺服器裡的應用程式都是無間斷的輸出日誌,這對於伺服器的硬碟是一個很大的考驗。良許之前也分享過一篇文章,介紹如何讓應用程式在後臺執行: linux後臺執行命令:&與nohup的用法 通過以上方法,應用程式的日誌會一直輸出到日誌檔案myout.txt裡,這個檔案也會不斷的增

MySQL 檔案

方法:1.可以編輯windows下my.ini,在[mysqld]段或者mysql的server配置段進行修改(要重啟伺服器)max_allowed_packet = 20M2.mysql 命令列set global max_allowed_packet = 你想要的值                   

使用fetch檔案失敗的解決方案

下午在工作中遇到了一個問題,就是用fetch上傳excel檔案,開始以為很簡單,結果花了一下午才解決。 一開始使用fetch(url,formData) ,也設定了content-type:multipart/form-data,但是後臺怎麼也拿不到檔案,用ajax可以正常

Mysql 解決 phpMyAdmin 檔案限制

大檔案匯入mysql一直以來都是個問題,如果你懂程式的,可以直接把sql放到伺服器上,執行下source 命令匯入即可,這個部分後面我們會講,如果你使用的是phpmyadmin 那麼你可以像下面這樣做, 解決方案 開啟phpmyadmin下的配置

Jenkins日誌文件解決方案

Jenkins一、寫定時任務刪除日誌文件 # crontab -e * * * * */1 rm -rf /var/log/jenkins/* 二、修改jenkins日誌的級別 解決方案1:使用java.util.logging:創建一個文件logging.properties,您可以在其中定義日誌級別和

Struts2檔案問題

s標籤上傳檔案後在tomcat中找不到檔案 其實儲存檔案時總是儲存到了 .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps目錄下需要修改Tomcat的Server Location 刪掉現在的Tomcat克隆,再ecl

uploadify在火狐下不了的解決方案,java版(Spring+SpringMVC+MyBatis)詳細解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

dede檔案亂碼問題解決

修改下列兩個檔案: /include/dialog/select_soft_post.php/include/dialog/select_soft.php   改: select_soft.php檔案第108行後面新增一句話: $file = mb_convert_encoding($fi

WordPress安裝主題失敗、檔案失敗問題解決辦法

因為阿里雲伺服器總是提示某個網站有木馬,而且這個網站很low,所以刪除原來的原始碼,重新安裝下。但是安裝後無法更新主題,用了在CSDN上看到的方法,直接在WordPress官網上下載主題,然後上傳到伺服器的方法,但是上傳檔案又會出問題。 其實看:https://blog.csdn.net/q

tomcat和nginx的檔案失敗的解決方法

TOMCAT     問題的根源:tomcat預設設定能接收HTTP POST請求的大小最大為2M,如果你的POST請求傳遞的資料大於2M,就會報錯誤。     解決的辦法:修改tomcat的配置檔案C:/MinyooCMS/tomcat/conf/server.xml(或

c# 模擬表單提交,post form 檔案資料內容

表單提交協議規定: 要先將 HTTP 要求的 Content-Type 設為 multipart/form-data,而且要設定一個 boundary 引數, 這個引數是由應用程式自行產生,它會用來識別每一份資料的邊界 (boundary), 用以產生多重資訊部份 (me

Maximum upload size exceede檔案大小超出解決

在這裡記錄三種方法, 努力提高自己的姿勢水平 application.yml配置 spring: servlet: multipart: enabled: true max-file-size: 10MB #單個檔案最大大小 max-reque

ASP.NET 檔案值調整

首先,最容易找到的是web.config下面配置: <!--maxRequestLength=50MB--> <httpRuntime targetFramework="4.5.2" maxRequestLength="51200"/> 這麼設定會將請求的

angularjs4部署檔案解決過程

這是我人生的第一篇文章,寫得不好,請見諒! 本人是一個java web開發工程師,對angularjs4小有接觸,最近看到一個漂亮的angularjs4的後臺模板–angle,於是就在CSDN下載來測試一下,點選這裡下載 模板的一些照片 相信有經驗

Centos 6.4下使用VSFTPD無法正常連線與無法檔案的問題解決

最近利用Linux搭建伺服器搭建FTP的時候決定使用VSFTP搭建,結果卻出現了無法正常連線與無法上傳檔案等諸多問題經過許久的努力,終於讓VSFTP正常運行了下面一一給出我的解決方案1、關閉防火牆使用yum安裝好vsftp並配置完成啟動後,我竟然發現本地連線FTP時完全收不到

java匯出excel資料量解決方案

@RequestMapping("/export") public void export(HttpServletRequest request, HttpServletResponse response, FullProcess fullProcess) { /

android圖片處理

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOu

Windows Server 2008R2 IIs7 檔案限制的解決方法

IIS7.0的修改方法如下: 1、開啟IIS管理器→ 雙擊“IIS”中的“ASP”→ 開啟“配置 ASP 應該程式的屬性”→ 展開“限制屬性”; 2、修改“最大請求實體主體限制”的值,預設值為200000(即不到200KB); 3、把它修改為你想修改的大小,如:52000

sqlserver資料庫log檔案 解決辦法

1、 一般是由於日誌過大  日誌模式設定為 full   此時改成simple 即可     相關命令:  查詢狀態   sp_helpdb '資料庫名'         如果是full模式改成   simple模式     alter database  資料庫名 se