前端upload上传大文件(5M以上)到minio存储时候,10秒左右,主动断开,导致收不到路径

Saber 未结 4 2964
294604621
294604621 剑圣 2021-03-15 15:11

一、该问题的重现步骤是什么?


    部署服务到 docker容器中,正常运行各个服务。

1. 外网访问项目,浏览器打开新增数据页面,上传文件,分别可以上传 小文件和大文件 查看返回情况,下面是上传大文件(视频10M左右)的情况

qq.png

2. 正常的小文件,是可以正常上传的



3.本地启动微服务,不管文件多大 都能正常上传



二、你期待的结果是什么?实际看到的又是什么?


        我期待的 是几十M的文件能够正常上传,实际是 上传大于2M左右以上的文件,就不能正常得到 上传后的 路径,  但是不管上传的文件 多大 ,minio中  是已经正常保存了  上传的文件。 

        下面是minio上传后文件:

            2.png

    


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


        前端使用的是 Saber 。后端是Bladex 2.7,,运行在Linux  环境centos7 系统中,通过  docker 部署的


四、请提供详细的错误堆栈信息,这很重要。

        

        后端  docker   web-nginx打印的日志

        3.png


        Saber 网页上的  信息:

            6.png


            代码部分:

                后端:

                    QQ截图20210315152148.png

                Saber前端:

                
QQ截图20210315152309.png


五、若有更多详细信息,请在下面提供。




4条回答
  • 2021-03-15 17:35

    这个传文件是先传到 blade-resource微服务(java),然后再由微服务传到Minio。

    然后saber的设置中有超时时间,微服务也有自动熔断的时间,这样传文件。文件一大一定会超时报错。

    也不可能无限制的把超时时间拉长。


    所以如果你用minio的话,我建议使用如下方案:

    1. 先向微服务请求一个预签名上传文件url,同时服务端写库一条标记文件状态是“预签名未上传”,并把文件id、预签名上传文件url(presignedPutObjectUrl)一并返回

    2. 前端使用预签名上传文件url(presignedPutObjectUrl)直传minio

    3. 传完了,再调用一个验证接口;使用文件id,让微服务验证文件在minio中是否存在,如果存在,把文件表状态改为 “正常”

    我们公司目前正在用的是这个方案,可以供你参考

    1 讨论(1)
  • 2021-03-15 15:36

    找一下springboot相关配置,加大文件上传限制就可以了

    0 讨论(0)
  • 2021-03-15 16:08

    感觉 应该不是 springboot的配置问题,我看服务器打印的日志,是返回成功的,数据也保存到 minio中了,

        这是上传  调用的服务接口打印信息:

            

    ================  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":{"link":"http://xxxxxx:9000/advert-video/upload/20210315/3925922514ed7981836bd33a19848ac1.mp4","domain":"http://xxxxx.85:9000/advert-video","name":"upload/20210315/3925922514ed7981836bd33a19848ac1.mp4","originalName":"44038776262390443.mp4","attachId":null},"msg":"鎿嶄綔鎴愬姛"}

    <=== POST: /advert/put-file (12869 ms)

    ================   Response End   ================


    前端收不到 返回的data 数据:

            qqq.png






    0 讨论(0)
  • 2022-09-23 08:42

    怎么采用分片啊, 就算再调大配置,也有上线,应该采用一点一点的上传吧

    0 讨论(0)
提交回复