jfinal上传超过2G的文件,该怎么做?

使用jfinal上传视频文件。

配置maxPostSize发现maxPostSize为int类型。

int最大值换算后也才2G.现在要传一个4G的视频文件,该怎么处理

评论区

JFinal

2020-03-05 15:28

这个需求需要在 controller 中通过 类似下面的代码来做:
InputStream in = getRequest().getInputStream();

得到上面的 InputStream in 对象以后,通过一些第三方从里头将文件数据解析出来

注意,这个解析是遵守 http 的 multipart request 规范来做的,不用自己写代码,有现成的第三方支持从 InputStream 中解析,例如:
https://www.oschina.net/p/commons-fileupload

空格键

2020-03-05 16:42

好的,感谢

haojay

2020-03-06 22:51

我的建议是用户直传第三方对象存储服务oss,jfinal只存储oss返回的文件信息,好处是方便水平扩展,其次用户直传oss还节省了你服务器的带宽。参考:https://help.aliyun.com/document_detail/31927.html

haojay

2020-03-06 22:52

这么大的文件一定要用到分块上传技术,否则用户到服务器的网络随便抖动一下,上传任务就失败了。

JFinal

2020-03-06 23:03

@haojay 这个办法更好

热门反馈

扫码入社