『壹』 struts2 文件上傳怎樣修改緩存大小
DiskFileItemFactory factory = new DiskFileItemFactory();
//Set factory constraints設置最多隻允許在內存中存儲的數據,單位:位元組
factory.setSizeThreshold(4096);
//設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄(緩存)
factory.setRepository(new File(temp));
//Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint設置允許用戶上傳文件大小,單位:位元組,這里設為5m
upload.setSizeMax(5 * 1024 * 1024);
『貳』 關於struts2框架的文件上傳問題。。。上傳的文件超過2MB就報下面的異常,請問怎麼解決
在struts.xml中設置
<constant name="struts.multipart.maxSize" value="314572800"></constant> <!-- 允許300M -->
可以允許上傳300M的呢!我試了下,上傳了個202M的電版影,竟然上傳成功了!權
『叄』 struts2中關於文件上傳的配置
MIME類型。text/plain表示文本類型
『肆』 struts2 文件上傳限制大小限制
據我所知,這個應該是伺服器上做了限制,如果用2003+iis6.0的話默認情況下是最大2M
『伍』 請問struts2 過濾器不限制文件 上傳類型、大小和擴展名 怎麼設置
額 你這個不是攔截器嗎,不限制那你不配置攔截器不就可以了嗎,如果真需要配置攔截器,那就需要設置好支持的擴展名了。
『陸』 我用struts2做的上傳文件功能,但當文件超過2G時頁面出現錯誤,這個有什麼辦法解決么
struts配置文件里有來個上傳大自小的常量可以配
可以配置default.properties文件,也可以直接配xml常量
常量名是struts.multipart.maxSize
值的話你自己換算就好了 1K*1024*1024什麼什麼的自己乘完放到value里
『柒』 struts2,上傳文件過大時,jsp頁面也不顯示錯誤
Struts2本身提供了一個文件上傳的攔截器,通過配置該攔截器可以更輕松地實現文件過濾。我們只需要在Action中配置該攔截器就可以了。當文件過濾失敗後,會自動轉向input邏輯視圖,因此必須為該Action配置名為input的邏輯視圖,除此之外還必須為配置defaultStack的攔截器的引用。配置文件如下:
<action name="upload" class="com.annlee.upload.UploadAction" >
<!-- 配置fileUpload的攔截器 -->
<interceptor-ref name="fileUpload">
<!-- 配置允許上傳的文件類型 -->
<param name="allowedTypes">image/bmp,image/gif,image/jpg</param>
<!-- 配置允許上傳的文件大小 -->
<param name="maximumSize">2000000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<param name="savePath">/</param>
<result>/common/succ.jsp</result>
<result name="input">/cos_fileupload/fileupload.jsp</result>
</action>
如果上傳失敗系統會返回到原來的頁面,要在原來的頁面上加上以下錯誤提示代碼:
<s:fielderror />這樣系統就會返回提示給用戶,但是這時的提示是Struts2自帶的提示,非常不友好,我們可以國際化資源里配置以下兩項,我們的提示就會自動替換Struts2的提示,提示的關鍵字如下
struts.messages.error.file.too.large
struts.messages.error.content.type.not.allowed
此外,如果用戶上傳失敗的原因不是因為以上兩種還有另外的一個信息提示用戶,它的關健字是:struts.messages.error.uploading,我們也應該替換這個提示信息。
其它說明:如果沒有指定臨時的保存文件夾,系統就會使用javax.servlet.context.tempdir路徑,這個路徑是Tomcat的work\Catalina\localhost\,我們應該設置自己的路徑,這個配置的屬性為struts.multipart.saveDir可以在struts.properties中配置,還有一個文件上傳的屬性:struts.multipart.maxSize設置整個表單請求內容的最大位元組數。