7

我想知道如何通过“暂停和恢复”支持将文件上传到 Amazon S3?(通过网络浏览器)。

是否有可用的示例 Web 应用程序?任何编程语言/框架都可以。

提前致谢。

解决方案

我实现了以下应用程序。Github 链接

它基于Condominios的示例应用程序和 gem 。

归功于https://github.com/cotag/伟大的宝石和工作。

特征:

- Pause / Resume support ~ 5MB chunks
- Large File Upload
- Progress Bar
- No Java Applet / No Flash
- Registration system via devise
4

7 回答 7

3

您应该使用分段上传 API 构建它。这是Java的链接:

http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/mpListPartsJavaAPI.html

这个想法是启动多部分上传,开始上传部分(其大小将基于客户端的传输速率),并且每当用户暂停上传时,停止上传部分。您不会有逐字节的暂停粒度,但我怀疑用户不会注意到这一点。

于 2012-07-29T03:44:30.700 回答
3

我实现了以下应用程序。Github 链接:

https://github.com/interpegasus/condo_example

它基于以下示例应用程序和 gem:

http://cotag.github.com/Condominios/

归功于https://github.com/cotag/伟大的宝石和工作。

特征:

  • 暂停/恢复支持 ~ 5MB 块
  • 大文件上传
  • 进度条
  • 没有 Java 小程序/没有 Flash
  • 通过设计注册系统
于 2012-12-08T00:19:48.987 回答
3

那一个很大。很长一段时间以来,我一直在寻找一个干净的答案。我什至构建了一些东西,但它总是归结为为您的应用程序使用一种媒介。我认为我找到的最佳解决方案是使用它。这确实是一个非常简单的想法,最重要的是它只使用少量的闪存来使用。

S3 Heroku Flash 上传器

Github 源代码

但是,不利的一面是您将无法成功上传超过 512 MB 的任何内容,在那之后会出现某种兑现。松动的轨道什么的。我认为我能想到的唯一其他解决方案是构建一个处理上传到服务器的 Java 应用程序。至少那时你有一个更稳定的连接,不必担心浏览器的问题。

于 2012-07-26T05:54:34.167 回答
2

Evaporate js 是一个非常适合这个特定任务的插件。

看看这里:

https://github.com/TTLabs/EvaporateJS

于 2014-07-11T20:26:20.240 回答
1

你需要一个像这样的客户端:https ://github.com/23/resumable.js

和一个服务器:

  1. 将块写入某处(本地或 S3)
  2. 将完全组装的文件上传到 S3。

您将无法直接从浏览器到 S3。

更新:S3 现在支持 CORS。 http://aws.amazon.com/about-aws/whats-new/2012/08/31/amazon-s3-announces-cross-origin-resource-sharing-CORS-support/

于 2012-07-29T02:34:01.737 回答
0

您是否尝试过S3Fox firefox 插件?

于 2012-07-30T05:36:57.087 回答
0

它具有 S3 的前端和后端实现

https://medium.com/@selvakumar.ponnusamy/resumable-file-upload-with-s3-ce039cbc8865

于 2019-02-01T11:07:52.853 回答