亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

上傳文件(200M)過大失敗,想提高成800M

上傳文件(200M)過大失敗,想提高成800M

呼如林 2019-02-21 11:45:20
下面是我的上傳方法 當上傳的文件小于200M的時候可以上傳成功,超過200M就會報錯。---final long MAX_SIZE = 200 1024 1024;// 設置上傳文件最大為 200M 這句話 是設置上傳文件的大小 改動過大會拋異常。 public void fileUpload(HttpServletRequest request, HttpServletResponse response) { response.setCharacterEncoding("UTF-8"); IFtpService ftpService = SpCommonModuleServiceFactory.getSpFtpService(); SpUser user = SpCommonModuleServiceFactory.getUserService() .getLoginUserMessage(request); String t_name = null; String fileId = null; // 最大上傳文件的大小 final long MAX_SIZE = 300 * 1024 * 1024;// 設置上傳文件最大為 100M // 實例化一個硬盤文件工廠,用來配置上傳組件ServletFileUpload DiskFileItemFactory factory = new DiskFileItemFactory(); // 設置上傳文件時用于臨時存放文件的內存大小,這里是4K,多于部分將存在臨時硬盤里 factory.setSizeThreshold(4 * 1024); // 用以上工廠實例化上傳組件 ServletFileUpload servletFileUpload = new ServletFileUpload(factory); // 設置上傳的最大尺寸 10M //servletFileUpload.setSizeMax(MAX_SIZE); // 允許上傳的最大值 servletFileUpload.setFileSizeMax(MAX_SIZE); servletFileUpload.setHeaderEncoding("UTF-8"); List<?> fileList = null; try { try { fileList = servletFileUpload.parseRequest(request); } catch (FileUploadException e) { if (e instanceof SizeLimitExceededException) { System.out.println("文件尺寸超過規定大小!!!"); } e.printStackTrace(); } // 沒有上傳文件 if (fileList == null || fileList.size() == 0) { System.out.println("未選擇文件或者文件大小為0!!!"); } // 得到所有的上傳文件 Iterator<?> iterator = fileList.iterator(); while (iterator.hasNext()) { FileItem fileItem = null; String name = null; long size = 0; // 得到當前文件 fileItem = (FileItem) iterator.next(); // 得到文件大小 size = fileItem.getSize(); System.out.println("size==="+size); // 忽略簡單form字段而不是上傳域的文件域(<input type='text'/>等) if (fileItem == null || fileItem.isFormField()) { continue; } // 得到完整的文件路徑 name = fileItem.getName(); // 得到文件大小 size = fileItem.getSize(); if ("".equals(name) || size == 0) { System.out.println("請選擇上傳的文件"); continue; } System.out.println("走到了嗎11111111111"); // 得到去除路徑的文件夾名 t_name = name.substring(name.lastIndexOf("\\") + 1); // 得到文件的拓展名(沒有拓展名時將得到全名) SpFtp file = ftpService.upload(user, "ftp", "ftp", "", t_name, fileItem.get(), ""); System.out.println("走到了嗎222222222"); fileId = file.getFtpId(); System.out .println("OnlineService-785 upload file id:" + fileId); } } catch (Exception e) { e.printStackTrace(); } try { if(fileId==null||fileId.equals("")){ response.getWriter().write( "{\"status\":false,\"fileId\":\"" + fileId + "\"}"); } else{response.getWriter().write( "{\"status\":true,\"fileId\":\"" + fileId + "\"}"); } } catch (IOException e) { e.printStackTrace(); } finally { try { response.getWriter().close(); } catch (IOException e) { e.printStackTrace(); } } } 請問大家是哪里出現了問題?謝謝。
查看完整描述

3 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

除了這里還有web容器會做限制,不知道你是Tomcat還是Apache還是Nginx

查看完整回答
反對 回復 2019-03-01
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

你是不是用struts2 ?如果是的話,請檢查你的 struts配置,一般配置文件會名是struts.xml

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

你看看有沒有做了類似這些設置,這里定義的最大上傳文件大小。
如果沒有的話,那你再根據上面幾個的回答,看看tomcat

查看完整回答
反對 回復 2019-03-01
  • 3 回答
  • 0 關注
  • 732 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號