gpt4 book ai didi

javascript - Fine Uploader 如何确定如何以及何时恢复到 Amazon S3 的分段上传?

转载 作者:行者123 更新时间:2023-11-28 01:54:03 27 4
gpt4 key购买 nike

我有一个将 Fine Uploader 的多部分功能与 Amazon S3 结合使用的示例。不过我想知道应该如何使用它。我发现,如果我中断了大文件的上传,然后重新加载页面并再次指定相同的文件,上传将继续。但简历是如何记忆的呢?是通过 session cookie吗?如果用户完全删除所有cookie和历史记录,简历还能用吗?为了恢复损坏的上传需要坚持什么?这一切都取决于为对象生成的 key 吗?只要 key 相同就可以吗?您能否提供一些简历上传有效以及无效的场景?谢谢。

最佳答案

Fine Uploader S3 和传统端点的 Fine Uploader 中存在恢复功能。对于传统端点,cookie 用于保存有关分块上传进度的信息。但是,Fine Uploader S3 使用 localStorage

每个 block 成功上传到 S3 后,Fine Uploader S3 的 XHR 上传传输处理程序会将该文件的当前状态信息保留在 localStorage 中,表示为一个项目。

localStorage 项的键由以下数据组成:

  1. 文件名
  2. 文件大小
  3. 最大块大小
  4. S3 存储桶名称

localStorage 项的值是一个 Object(存储为字符串),具有以下属性:

  1. 文件名
  2. 文件大小
  3. 文件 UUID
  4. S3 键名称
  5. 已成功上传的字节数
  6. 当前时间/日期
  7. block /部分总数
  8. 最后一个 block 索引已成功上传
  9. S3 分配的上传 ID(在原始“启动分段上传”REST 调用期间从 S3 返回 - 这是每个上传请求的必需部分)
  10. 所有成功上传的部分的部分索引到 etag 值的映射,这是 Fine Uploader S3 必须包含在“完整分段上传”REST 请求中的信息,该请求在上传最后一个部分后发送(要求 S3 合并所有部分)。

当 Fine Uploader S3 的内部 XHR 上传处理程序收到“开始上传”信号时,它会计算要上传的文件的 key (使用上面第一个列表中的项目)。如果存在 localStorage 项目(在当前域/源上),则使用持久数据来恢复上传。

请注意,所有过期的 localStorage 项目都会在 Fine Uploader S3 实例初始化期间被删除。如果日期属性(参见上面的第二个列表)超过 7 天,则项目已过期。不过,该值是可配置的,通过 resume.recordsExpireIn option

通过查看 Fine Uploader S3 upload handler module source code,您可以看到所有这些逻辑以及更多血淋淋的细节。 .

关于javascript - Fine Uploader 如何确定如何以及何时恢复到 Amazon S3 的分段上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370163/

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