最近在用github上的一个插件vue-editor-wrap做视频上传的功能时,总是出现上传大视频时上传不上去报错的问题。我上传了800M的视频,没有采用断点续传,直接上传的,连后台人员本机是可以上传成功的,但是在测试机加入腾讯 云之后,总是出现
“上传失败,请重试”的问题。

看netWork时,是有这个请 求,但是在上传到100%时会有一分多钟的等待,似乎是在等后端响应,之后就canceled了。页面上自然也就出现了“上传失败,请重试”。但是上传十几M的却没问题。一开始认为是前端超时时间的问题。后来在网上找了一个,在static/UEditor/webuploader/webuploader.js中修改了这些地方:

 

把超时时间 改成了60分钟:即tiemout:60*60)1000但是之后发现并没有什么用。

 

后来分析:如果上传了500M的文件 ,在7.8Min时canceled掉 了,但是如果上传800M的文件,总时间为11.2min,或上传800M的视频时也是在7.8min时canceled了,那说明可能是前端超时时间 的问题,但是通过实验得出,上传800M的视频文件时是在11.2Min时canceled的,那就说明有可能是后端服务器的问题,也就是说前端上传文件 已经成功了,需要后端响应,这时有可能后端还没有完成它的工作,或者是超过1分钟了还没做出响应, 那浏览器就给canceled掉了。目前初步怀疑是后端的问题,需要后端把jar包反编译之后打断点,再找原因了。后续再更新。。。。

 

后端打了断点。发现也上传成功了,是到100%的时候才去调用后端那个接口,之前一直都是pending,最后通过查看nigix发现是nigix配置错了。原来在location /cnypa-cms/{

proxy_pass http://XXX.XX.XX.XX:9006}   (这里XXX.XX.XX.XX代表IP地址)。这里会使前端上传到服务器的视频在本地从nigix上传到tomcat非常费时,因为是配成ip地址就是走了外网了,相当于用了下行带宽,下行带宽非常慢,也就是nigix和tomcat在同一台机子上,本来应该很快,但是由于用了外网,导致非常慢,客户端一直没有收到response,就会canceled掉。这里改成 http:localhost:9006就可以。具体配置如下:

 

参考链接:

https://blog.csdn.net/hugejihu9/article/details/83586981

https://www.jianshu.com/p/f84ab2e00d40

https://www.zhihu.com/question/59606897

Logo

前往低代码交流专区

更多推荐