0

我有一个页面,我在其中存储每个帖子的图像,并使用回形针将图像存储在文件中,但我想将其存储在 amazon s3 中,而不是将其存储在文件夹中。我该怎么做?

4

4 回答 4

1

让我试着解释一下。

  1. 添加gem 'aws-sdk'到您的gemfile。(不要忘记捆绑安装)

  2. {APP FOLDER}/config/s3.yml使用以下内容创建一个新文件: access_key_id: xxxxxYOUR_ACCESS_KEY_IDxxxxx 在此处输入代码secret_access_key: xxxxxYOUR_SECRET_ACCESS_KEYxxxxx

  3. 相应地更新您的模型:

                  has_attached_file :file_field_name,
                  :storage => :s3,
                  :s3_credentials => "#{Rails.root}/config/s3.yml",
                  :url => '/path/tofile/:basename.:extension',
                  :path => '/path/tofile/:basename.:extension',
                  :bucket => 'YOUR_BUCKET'
    
  4. 最后在你看来:

    <div class="field">
      <%= f.label :logo, "file_field_name" %>
      <%= f.file_field :file_field_name %>
    </div>
    

任何问题让我知道。

至于 S3、Windows Azure Storage 和 Nimbus.io 的替代品。

于 2012-08-29T08:07:23.437 回答
0

这里有一个相当详尽的文档看看。

于 2012-08-29T06:15:19.913 回答
0

是一个最小的操作方法。

对于测试和开发,您可以使用 fake-s3

来自github 页面的描述:“FakeS3 是一个轻量级服务器,它响应 Amazon S3 响应的相同调用。它对于在沙盒环境中测试 S3 非常有用,而无需实际调用 Amazon,这不仅需要网络,而且成本你宝贵的美元。”

我认为您应该在生产中继续使用 Amazon S3。我不知道更好的选择。有用。

于 2012-08-29T07:43:11.480 回答
0

根据我对 Amazon S3 的理解,没有什么叫做文件夹来存储数据。我们仅将 S3 用于字符串图像,但它存储在称为存储桶的虚拟文件夹 S3 中,有 C# API 可用于读取这些虚拟文件夹(存储桶)信息以访问数据。还有适用于 C# 的 AWS 开发工具包。

于 2012-08-29T11:47:16.790 回答