个人博客2.0新版正式上线了,欢迎各位博主、个人网站、IT类等交换友情链接smilesmile

  • 文章详情

文件分片上传之后端PHP合成文件

在上一节文章中,我们介绍了前端文件分片上传,了解vue-simple-uploader组件自带分片上传功能,大文件一片片依次上传到后端服务器后,后端程序要将分片合成一个完整的文件,那么PHP是如何处理合成分片的呢?请看本节讲解。

查看演示

为了阅读和开发方便,我将文件上传系列相关文章章节列出来:

前端什么时候发送合并请求

在上一节文章中,我们知道,当所有的分片都上传完成时,会调用onFileSuccess()方法。

onFileSuccess(rootFile, file, response, chunk) {
    let resp = JSON.parse(response);
    if (resp.code === 0 && resp.merge === false) {
        console.log('上传成功,不需要合并');
    } else {
        axios.post('http://localhost:9999/up.php?action=merge', {
            filename: file.name,
            identifier: file.uniqueIdentifier,
            totalSize: file.size,
            totalChunks: chunk.offset + 1
        }).then(function(res){
            if (res.code === 0) {
                console.log('上传成功')
            } else {
                console.log(res.message);
            }
        })
        .catch(function(error){
            console.log(error);
        });
    }
}

从后台返回的response包含了是否需要合并的指令merge,如果resp.merge === true,那就发送合并请求,告诉后端可以合成分片了。如果上传的文件只有一片,就不需要合并。

  • 评论列表

    当前文章没有评论

  • 发表评论
请登录后才能发表评论,点击 登录