讨论数量:
首先分片上传不不会加速上传,反而会降低上传速率,分片是为了解决上传过程中网络中断而设计的。
至于阿里云上传速度,取决于你本地网络速率与阿里云节点物理位置,等都有关系,根据你上条回复得知你的极限上传网速为 7.34 MB/s
,阿里云 3.3 MB/s
属实不慢了
首先,你的网速不差,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();
首先分片上传不不会加速上传,反而会降低上传速率,分片是为了解决上传过程中网络中断而设计的。
至于阿里云上传速度,取决于你本地网络速率与阿里云节点物理位置,等都有关系,根据你上条回复得知你的极限上传网速为
7.34 MB/s
,阿里云3.3 MB/s
属实不慢了