阿里云oss大文件上传速度慢

上传个150m的视频,用了45秒

有什么解决办法吗?

阿里云oss大文件上传速度慢

阿里云oss大文件上传速度慢

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

首先分片上传不不会加速上传,反而会降低上传速率,分片是为了解决上传过程中网络中断而设计的。

至于阿里云上传速度,取决于你本地网络速率与阿里云节点物理位置,等都有关系,根据你上条回复得知你的极限上传网速为 7.34 MB/s ,阿里云 3.3 MB/s 属实不慢了

2年前 评论
讨论数量: 8

你的设备多大的带宽啊,3M+/s 还很慢吗?应该是30M的宽带的水准吧?大概。

2年前 评论
最闲的码农 (楼主) 2年前

首先分片上传不不会加速上传,反而会降低上传速率,分片是为了解决上传过程中网络中断而设计的。

至于阿里云上传速度,取决于你本地网络速率与阿里云节点物理位置,等都有关系,根据你上条回复得知你的极限上传网速为 7.34 MB/s ,阿里云 3.3 MB/s 属实不慢了

2年前 评论

首先,你的网速不差,150M上传45秒肯定是有问题的。这个需求正好上个月做过,我一开始也是用PHP实现的,但是上传真的很慢,超过400M的几乎上传不了(具体什么原因没有研究)。后来直接使用JavaScript进行分片上传,400M的视频,差不多10秒就上传好了。代码贴一下,提供参考:

var client = new OSS({
    accessKeyId: '',
    accessKeySecret: '',
    bucket: '',
    region: 'oss-cn-hangzhou'
});

var tempCheckpoint
var ext = fileObj.name.substring(fileObj.name.lastIndexOf('.') + 1)
var filePath = 'files/' + 自定义文件名 + '.' + ext

// 显示上传进度条
document.querySelector('.progress').className = 'progress'

// 定义上传方法。
async function multipartUpload() {
    try {
        await client.multipartUpload(filePath, fileObj, {
            progress: function (p, checkpoint) {
                // 利用layui显示上传进度条
                layui.element.progress('progress', Math.round(p * 1000) / 10 + '%')
                // checkpoint是返回的文件对象
                tempCheckpoint = checkpoint;
                if (p == 1) {
                    // 隐藏上传进度条
                    document.querySelector('.progress').className = 'progress layui-hide'
                }
            }
        })
    } catch (e) {
        console.log(e);
    }
}

// 开始上传
multipartUpload();
2年前 评论
最闲的码农 (楼主) 2年前
1588 1年前
1588 1年前
最闲的码农 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!