java文件太大 上传不了怎么办_上传文件(200M)过大失败,想提高成800M

下面是我的上传方法 当上传的文件小于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字段而不是上传域的文件域(等)

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();

}

}

}

请问大家是哪里出现了问题?谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值