文件是2907M将近3G的,
上传本地没问题,就是传到B2就报这错了
代码里面是传到本地后,再传到b2
意思就是在本地中转了一下
idea里面也设置了启动参数-Xmx2907m-Xms2907m-XX:NewRatio=4
求大佬指点
@Override
publicCommonResindex(MultipartFile[]zipFile){
Stringtimepath="dw";
List<String>list=new ArrayList<String>();
for(inti=0;i<zipFile.length;i++){
try{
//保存文件
Fileret=saveFile(zipFile[i],timepath);
//拿post过来的文件md5值
FileInputStreamfis=newFileInputStream(ret);
Stringmd5var=org.apache.commons.codec.digest.DigestUtils.md5Hex(fis);
fis.close();//关闭流
Stringpathvsname=timepath+"/"+ret.getName();
//传到b2
this.uploadFile(ret,timepath);
System.out.println("传到B2,返回内存信息:"+pathvsname);
//返回路径
list.add("https://xxx.com/"+ret.getName());
//uploadFile(dest);
}catch(IOExceptione){
e.getMessage();
}
} <P></P> <BR> -----------------------------------------------------<BR> **网友回复**:
你堆内存和文件一样大,合着其他东西不需要内存是吧
网友回复:
引用:CMBCHINA发表于2021-11-410:32
java支持分块上传大兄弟
网友回复:
引用:darius发表于2021-11-410:28
报错的堆栈信息发下
网友回复:
引用:朕的大清完了?发表于2021-11-410:37
怎么弄,b2好像不能分块上传的吧,本地上传没问题
网友回复:
引用:CMBCHINA发表于2021-11-410:43
像大文件都是分片传送的,并不是说送到服务端是一个一个的,
而是在java将文件切块,然后wirte一块以后f...
网友回复:
你用bufferedinputstream把fileinputstream包装下,整个缓冲区
网友回复:
引用:darius发表于2021-11-411:04
你用bufferedinputstream把fileinputstream包装下,整个缓冲区
网友回复:
jvm是分区垃圾回收的你一个文件就把所有占满了你不炸谁炸