gpt4 book ai didi

php - 重新加入分块 HTML 5 上传

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:08 27 4
gpt4 key购买 nike

我们从头开始使用文件 api 构建了一个 HTML5 uploader ,没有外部库,它工作正常,直到我们尝试上传一个大于 150MB 的文件。此时我们意识到我们需要将文件作为 block 上传。

事物的 Javascript 方面正在由拆分文件和上传的其他人进行排序。我正在处理 PHP 方面的事情,需要知道我需要查看什么才能弄清楚如何重新加入这些 block 。

我需要修改每个 block 的 header 吗?

在等待下一个 block 时,我应该如何对 block 进行排队?

我们在做这件事吗?

最佳答案

在我看来,您需要与执行 javascript 方面的 gui 交谈,或者至少从他那里获取完成的脚本并查看代码, block 编号很可能会在标题之一中发送请求。

由于您将在不同的 php 脚本中接收 block ,我建议您将它们存储在数据库或文件系统中,使用文件系统会有点困难,因为您还需要添加 block 编号,如果您真的想转到文件系统路径我建议您将它们存储在一个文件夹中,该文件夹的文件名与其名称相同, block 为 0...chunk_count-1 作为该文件夹中的文件。

您还应该通过 header 接收区 block 总数,并在上传后比较您拥有的区 block 数量。当您拥有所有 block 时,只需按照 block ID 的顺序组装它们。如果您为此使用文件系统,则应注意所有文件实际上都已完全写入(通常如果总大小与原始大小匹配)。数据库使这变得更加简单,因为当您拥有所有数据时,您可以在其中插入一行。

确保所有文件都被完全写入的文件系统方法的解决方法是将它们写入不同的文件夹,并在完成写入后将它们移动到目标文件夹。这两个文件夹应该在同一个文件系统上,所以移动不会生成复制 + 删除。

关于php - 重新加入分块 HTML 5 上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857320/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com