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の代替として、WindowsAzureStorageとNimbus.io。

于 2012-08-29T08:07:23.437 に答える
0

ここに最小限のハウツーがあります。

テストと開発には、fake-s3 を使用できます

github ページの説明 : 「 FakeS3は、Amazon S3 が応答するのと同じ呼び出しに応答する軽量サーバーです。実際に Amazon に呼び出しを行うことなく、サンドボックス環境で S3 をテストするのに非常に役立ちます。これには、ネットワークが必要なだけでなく、コストもかかります。あなたの貴重なドル。」

本番環境では Amazon S3 を使用し続ける必要があると思います。私はより良い代替案を知りません。できます。

于 2012-08-29T07:43:11.480 に答える
0

それに関するかなり完全なドキュメントがありますhere、見てください。

于 2012-08-29T06:15:19.913 に答える
0

Amazon S3 での私の理解によると、データを保存するフォルダーと呼ばれるものはありません。文字列イメージのみに S3 を使用しましたが、それはバケットと呼ばれる仮想フォルダー S3 に保存されました。これらの仮想フォルダー (バケット) 情報を読み取ってデータにアクセスするために使用できる C# API があります。C# で使用できる AWS SDK もあります。

于 2012-08-29T11:47:16.790 に答える