【问题标题】:How to upload the file to s3 without HTML form in Rails 3如何在 Rails 3 中将文件上传到没有 HTML 表单的 s3
【发布时间】:2012-11-15 16:36:51
【问题描述】:

我有一个应用程序,用户可以通过 Flash 播放器录制他们的声音,然后我从 Flash 播放器的字节数组字符串创建一个 mp3 文件。现在我想将 mp3 文件上传到 S3。任何人的帮助将不胜感激。

【问题讨论】:

  • 你研究过回形针和 s3 吗?
  • 不,我认为回形针可以从 HTML 表单上传文件,但我想上传从 Flash 播放器的字节数组字符串动态创建的文件

标签: ruby-on-rails ruby-on-rails-3.1 amazon-s3 ruby-on-rails-3.2


【解决方案1】:

要使用的gem是aws-s3 0.6.2

AWS::S3::Base.establish_connection!(:access_key_id => 'key', :secret_access_key => 'secret_key')

这将建立连接。你可以把mp3写成,

AWS::S3::S3Object.store('my_mp3s/name.mp3', open(Rails.root.join('tmp', 'old.mp3'), 'bucket_name')

第一个参数是您想要存储 mp3 在存储桶中的哪个位置,第二个参数是实际文件内容,第三个参数是您要存储的实际存储桶

【讨论】:

    【解决方案2】:

    您可以使用aws-s3 gemfog 来处理此问题。

    aws-s3 示例:

    AWS::S3::Base.establish_connection!(
      :access_key_id     => 'abc', 
      :secret_access_key => '123'
    )
    
    file = 'black-flowers.mp3'
    S3Object.store(file, open(file), 'bucketname')
    

    有关fog 的示例,请参阅here

    【讨论】:

      猜你喜欢
      • 2020-07-18
      • 1970-01-01
      • 2015-09-13
      • 2016-07-27
      • 2011-09-22
      • 2020-05-30
      • 2015-12-07
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多