首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal上传超过2G的文件,该怎么做?
空格键
2020-03-05 15:16
使用jfinal上传视频文件。
配置maxPostSize发现
maxPostSize为
int类型。
int最大值换算后也才2G.现在要传一个4G的视频文件,该怎么处理
项目:
JFinal
1
1
评论区
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
这个办法更好
回复
发送
我要反馈
热门反馈
扫码入社
InputStream in = getRequest().getInputStream();
得到上面的 InputStream in 对象以后,通过一些第三方从里头将文件数据解析出来
注意,这个解析是遵守 http 的 multipart request 规范来做的,不用自己写代码,有现成的第三方支持从 InputStream 中解析,例如:
https://www.oschina.net/p/commons-fileupload