minio 8.0.3 javasdk 上传文件大小限制问题 最大只能上传2g

minio上传超过2G文件时,虽然上传成功了,但是大小都会变成2G:

attachments-2021-04-W9UtpCP46065237f942f3.png

使用的是8.0.3 java sdk ,代码如下:

attachments-2021-04-mOzXB3B560652363108d1.png


补充:发现原因是inputStream.available()方法,最大只能是整形的最大值也就是2G,但是目前看所有的参考文档写法都是这么写的。。

请先 登录 后评论

1 个回答

blinkfox

你不要用 `inputSteam.avaliable()` 去获取文件大小,这是一个非常不可靠和危险的方法,如果是网络文件流,这个值就是 0,你应该把这个值对应的参数直接设置为 -1, 上传时会自己去读取完所有的流。

还有,大文件的话,要把 partSize 设置大一点,你设置的 -1,那默认就是 5M,太小了,上传的比较慢,你可以设置成 50M,上传效率会更高一些,不过内存就会占的更多。

请先 登录 后评论