欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Uedior上传大文件超时报错

程序员文章站 2022-03-29 20:15:57
出错原因: 1.php超时等待时间太短 2.uedior中设置了请求超时,提示信息: 上传失败,请重试 先解决第一个问题: 设置php.ini中的max_execution_time 为0 (意思是http请求等待时间为永久) 第二个问题: (在这个地方搞懵逼了,最初没注意,执行的js文件是webu ......

出错原因: 1.php超时等待时间太短

      2.uedior中设置了请求超时,提示信息: 上传失败,请重试

 

先解决第一个问题: 

  设置php.ini中的max_execution_time 为0 (意思是http请求等待时间为永久)

 

第二个问题: (在这个地方搞懵逼了,最初没注意,执行的js文件是webupload.min.js,改对了然后测试还是不行,纠结了半天才发现自己改的是webupload.js)

 

  打开webupload.js,然后找到

 

transport.options = {
server: '',
method: 'post',

// 跨域时,是否允许携带cookie, 只有html5 runtime才有效
withcredentials: false,
fileval: 'file',
timeout: 2 * 60 * 1000, // 2分钟
formdata: {},
headers: {},
sendasbinary: false
};

修改为:

transport.options = {
            server: '',
            method: 'post',

            // 跨域时,是否允许携带cookie, 只有html5 runtime才有效
            withcredentials: false,
            fileval: 'file',
            timeout: 30 * 60 * 1000, // 2分钟,修改为了30分钟
            formdata: {},
            headers: {},
            sendasbinary: false
        };

意思是把uedior的上传等待时间加长。

 

还有一个问题待解决,上传文件,如果文件很大首先会将文件上传至服务器临时文件目录(笔者是centos7,所以默认在opt/lampp/temp/,可以在php.ini中修改临时文件目录),文件小会先上传到内存中,然后再将文件上传到oss中。这样会让文件上传上传两次,增长了上传视频时间,解决思路是,直接前端用js上传到oss中,需要去修改uedior代码