Struts2多檔案上傳錯誤解決
用Struts2實現的檔案上傳的時候,報出錯誤the request was rejected because its size (3141420) exceeds the configured maximum (2097152)。這是因為上傳的檔案太大,這時需要在struts.xml中加入一個攔截器,設定上傳檔案的最大值。
<action name="upload2" class="com.seven.upload.UploadAction2"> <interceptor-ref name="fileUpload"> <param name="maximumSize">52428800</param> </interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> <result>/success.jsp</result> <result name="input">/index2.jsp</result> </action>
攔截器name屬性為fileUpload, 引數名為maximumSize,這裡引數值為52428800,表示5M。注:1024*1024=1M。在fileUpload後面再加上預設的攔截器,確保引數能夠都提交到Action。其實也可以在struts.xml中配置<constant name="struts.multipart.maxSize" value="55000000"/>
struts.multipart.maxSize掌控整個專案所上傳檔案的最大的Size
struts.multipart.maxSize和fileUpload攔截器的maximumSize屬性分工不同,總結如下:
1.struts.multipart.maxSize掌控整個專案所上傳檔案的最大的Size。超過了這個size,後臺報錯,程式處理不了如此大的檔案。fielderror裡面會有如下的提示:
the request was rejected because its size (16272982) exceeds the configured maximum (9000000)
2.fileUpload攔截器的maximumSize屬性必須小於struts.multipart.maxSize的值。
struts.multipart.maxSize預設2M,當maximumSize大於2M時,必須設定struts.multipart.maxSize的值大於maximumSize。
3.當上傳的檔案大於struts.multipart.maxSize時,系統報錯
當上傳的檔案在struts.multipart.maxSize和maximumSize之間時,系統提示:
File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104
當上傳的檔案小於maximumSize,上傳成功。
下面是Action中的程式碼
這裡成員變數都用了List來接受,為了接受多個傳遞過來的檔案。package com.seven.upload; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.List; import org.apache.commons.io.IOUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; /** * 多個檔案上傳 * @author Administrator * */ public class UploadAction2 extends ActionSupport { private List<File> ppt;// 上傳的檔案域的屬性 private List<String> pptFileName;// 上傳的檔名稱 private List<String> pptContentType;// 上傳的檔案型別 public List<File> getPpt() { return ppt; } public void setPpt(List<File> ppt) { this.ppt = ppt; } public List<String> getPptFileName() { return pptFileName; } public void setPptFileName(List<String> pptFileName) { this.pptFileName = pptFileName; } public List<String> getPptContentType() { return pptContentType; } public void setPptContentType(List<String> pptContentType) { this.pptContentType = pptContentType; } public String execute() throws Exception { System.out.println(ppt); System.out.println(pptContentType); System.out.println(pptFileName); //迴圈遍歷每個上傳的檔案 for (int i = 0; i < ppt.size(); i++) { String dirs = ServletActionContext.getServletContext(). getRealPath("/files/"+pptFileName.get(i)); System.out.println(dirs); FileInputStream in=new FileInputStream(ppt.get(i)); FileOutputStream out=new FileOutputStream(dirs); IOUtils.copy(in, out); } return super.execute(); } public String input() { return INPUT; } }
相關推薦
Struts2多檔案上傳錯誤解決
用Struts2實現的檔案上傳的時候,報出錯誤the request was rejected because its size (3141420) exceeds the configured
第30講 .struts2多檔案上傳
1在專案中,HeadFirstStruts2chapter08,新建filesUpload.jsp檔案 <%@ page language="java" contentType="text/html; charset=UTF-8" &nbs
java struts2 多檔案上傳 加進度條
摘要 實現批量上傳,同時又進度顯示和上傳速度 1、struts.xml檔案配置 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN
struts2多檔案上傳
相比單檔案上傳,多檔案上傳只需要在private各種屬性的時候,定義成陣列然後在上傳的時候使用迴圈來迴圈上傳package com.rl.action; import java.io.File; import java.io.FileInputStream; import
Struts2配合layui多檔案上傳--下載
先說上傳: 前臺上傳檔案的js程式碼: var demoListView = $('#demoList') ,uploadListIns = upload.render({ elem: '#testList' ,url: 'emailAction_upload'
Thinkphp5 多檔案上傳重名的解決辦法
前天晚上,專案上線前測出了一個bug,上傳多張圖片在線上出現同名的情況,上傳了五張不一樣的圖片,實際上只上了兩張(甚至有時候一張),並且資料庫的欄位都出現了同名的情況,線上下好好的,線上就不行了…… 由於tp5上傳圖片使用的是date的命名規則,所以在同一時間段或者程式碼的位置原因(個
Struts2 實現多檔案上傳
前臺form 表單:設定method=post,enctype=multipart/form-data。 struts2在原有的上傳解析器繼承上做了進一步封裝,更進一步簡化了檔案上傳。 Action需要使用3個屬性來封裝該檔案域的資訊: (1)型別為Fil
[原創]K8 Struts2 Exp 20170310 S2-045(Struts2綜合漏洞利用工具) [原創]Struts2奇葩環境任意檔案上傳工具(解決菜刀無法傳檔案或上傳亂碼等問題)
工具: K8 Struts2 Exploit組織: K8搞基大隊[K8team]作者: K8拉登哥哥部落格: http://qqhack8.blog.163.com釋出: 2014/7/31 10:24:56簡介: K8 Stru
[原創]Struts2奇葩環境任意檔案上傳工具(解決菜刀無法傳檔案或上傳亂碼等問題)
上面這問題問得好 1 不知道大家有沒碰到有些Strus2站點 上傳JSP後訪問404 或者503 注意我說的是404或503不是403(要是403換個css/img等目錄或許可以) 但對於明明
struts2進行多檔案上傳
首先搭建好struts2的開發環境,匯入struts2需要的最少jar包 新建upload.jsp頁面,注意一定要把表單的enctype設定成multipart/form-data <%@ page language="java" import="java.util
ajaxFileUpload+struts2實現多檔案上傳(動態新增檔案上傳框)
但只是固定的檔案個數,如果需求不確定是多少檔案 則我們就需要動態的新增檔案上傳框,以實現靈活性。基於上篇基本框架是不變的,主要修改以下幾個方面1、jQuery實現動態新增刪除檔案上傳框2、獲取檔案上傳框
struts2.x多檔案上傳(使用註解)
一般網站都會提供檔案的上傳與下載的功能,尤其是資料管理型網站。剛好在工作中需要用到,就提前學習了一下,並建了一個maven工程做練習。 1. 本工程使用maven建立工程,是為了省去包匯入細節,其中maven工程的pom.xml檔案主要如下: <!--
Struts2實現多檔案上傳功能
前臺form 表單:設定method=post,enctype=multipart/form-data。struts2在原有的上傳解析器繼承上做了進一步封裝,更進一步簡化了檔案上傳。Action需要使用3個屬性來封裝該檔案域的資訊:(1)型別為File的*屬性封裝了該檔案域對應的檔案內容; (2)型別為Str
Struts2之檔案上傳(單檔案/多檔案)
<一>簡述: Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name="fileUpload" class="org.apache.struts2.intercepto
Struts2實現單檔案上傳,多檔案上傳與下載(十)
“兩個蝴蝶飛”特別喜歡"java1234知識分享網"小峰的實用主義,所以本文及其系列文章均是採用實用主義,從專案和程式碼的角度去分析。由於本人經驗有限,嘴皮子不溜,所以學術性,概念性,底層性的知識點暫時不做介紹。文章中有錯誤之處,歡迎拍磚和指點。特別感謝"java12
ajaxFileUpload+struts2實現多檔案上傳
以前有介紹過ajaxFileUpload實現檔案上傳,但那是單檔案的,這次介紹多檔案上傳。單檔案和多檔案的實現區別主要修改兩點,一是外掛ajaxfileupload.js裡接收file檔案ID的方式二是後臺action是陣列形式接收2、引入jquery-1.8.0.min.j
Spring整合Struts2實現多檔案上傳及下載
Sping與Struts環境的搭建在前文已經講述過了,再次就不再做過多介紹了,詳情請參考前文《Spring整合Struts2中攔截鏈與註解的使用 》。接下來進入正題,Struts2的多檔案上傳步驟。本文仍然沿用Spring框架對Struts2框架進行管理,首先來看web.x
HttpClient多檔案上傳程式碼及普通引數中文亂碼問題解決
該隨筆記錄了在實際專案中使用HttpClient呼叫外部api,需上傳檔案和普通引數的程式碼。 筆者在使用 HttpClient 呼叫 http api 介面時,需要服務端上傳檔案和一些普通引數給 http api,如果使用 Java 自帶的 HttpURLConnection 請求的話,傳送 multip
Spring MVC - MultipartFile實現檔案上傳(單檔案與多檔案上傳)
前提:引入jar包。 <dependency>
struts2實現檔案上傳與下載功能
一、Demo介紹 基於struts2框架,實現多檔案的上傳和下載功能。 實現原理圖: 部分介面圖: 上傳成功及下載頁面: 二、主要程式碼 uploadFile.jsp:在form表單中包含一個文字框(上傳使用者的姓名)和兩個檔案上傳選項. <%@