使用进度条将文件直接上载到S3

时间:2009-01-26 03:40:57

标签: ajax file-upload amazon-s3 progress-bar

关于这个问题,Upload files directly to Amazon S3 from ASP.NET application,有没有办法做到这一点并有进度条?

----编辑----

两天后,直接的方式仍然没有运气。找到一件看起来很有前途但不自由的东西:http://www.flajaxian.com/

使用flash通过进度条直接上传到S3。

3 个答案:

答案 0 :(得分:4)

我也在寻找解决方案。也许这会有所帮助,

  

From AWS Dev Commnity   但是在许多语言(PHP,Java)中   大文件,你必须使用流   通过哪些语言环境   将采取你的大文件块   在另一个之后(为了填补   中央记忆与大量的   需要S3的http POST的数据   上传。

     

关于流的好处是   他们有一个随叫随叫的回调   下一个块被读取以进一步   PUT(在https意义上)数据到S3。   您可以使用此回调进行计算   并在客户端上显示进度   UI。

     

请参阅libcurl的文档   详细说明了这一切是如何运作的。


更新:看起来有两个简单的选择。

  1. Flash, via the FileReference class
  2. With a Java applet
  3. 我个人讨厌使用第三方扩展程序(Flash,Java)来制作应用程序功能,但我还没有找到另一种方法。

答案 1 :(得分:0)

html5 javascript可以让你这样做,如果你不介意缺乏浏览器支持(Firefox和Chrome仅限于此post_ 示例:https://developer.mozilla.org/en/Using_files_from_web_applications

这不是特定于AWS的,但可能会帮助您更接近。

答案 2 :(得分:-2)

另一种方法是使用类似Uber Uploader(http://uber-uploader.sourceforge.net/)的东西,这是一个带进度条的perl / php混合解决方案。您只需将文件上传到服务器,然后让服务器在后台将它们FTP到最终目的地。这是一个额外的步骤,但它为您提供了一些时间来执行您在发送到S3之前可能需要执行的任何处理/编码等。