11

是否可以将 HTML 5 File API(例如,此库:https ://github.com/23/resumable.js )与 S3 分段上传功能结合使用?

http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html

4

1 回答 1

11

是的,但是如果您要将其作为公共网站的一部分,您将需要某种服务器后端以更安全的方式处理 Amazon API 密钥。

您可以找到这些项目的完整示例实现:

请注意,我没有使用、测试或审查过这些项目。

序列的粗略描述如下:

  1. 用户
    • 加载网页
    • 选择要上传的文件
    • 点击上传按钮
  2. 网页
    • 将有关文件的信息发送到服务器
  3. 服务器
    • 使用 Amazon API 创建分段上传
    • 将“key”(文件名)和“upload id”发送回网页
  4. 网页
    • 计算出零件的尺寸
    • 请求服务器签署部分传递“密钥”、“上传 id”、部分信息
  5. 服务器
    • 签署部分请求,发送“部分上传网址”、“日期”和“授权标头”
  6. 网页
    • 使用“date”和“auth header”通过“part upload url”将部分数据直接发送到 Amazon S3
    • 跟踪零件 ID
  7. 服务器和网页
    • 对每个附加部分重复 5 和 6,如果需要可恢复
  8. 网页
    • 向服务器发出“上传完成”请求(传递所有部分信息)
  9. 服务器
    • 向 Amazon API 发出请求以完成文件的创建
  10. 网页
    • 通知用户错误或成功

笔记:

  • 如果上传被中止,这也必须在服务器端处理,否则开始的部分/上传将留在 S3 存储桶中占用空间。
  • 完成对亚马逊的“上传完成”请求可能需要几分钟时间。
于 2013-10-15T19:28:44.257 回答