質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

3862閲覧

AWSのS3で非公開に設定している画像を、Webで表示する方法

ooo

総合スコア22

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

1グッド

3クリップ

投稿2015/12/14 16:26

いつもお世話になります。

掲題の通りの質問なのですが、
S3で非公開設定にしているbucketにある画像を、
特定のWebページで表示したいと思っているのですが、
どんな方法がベストプラクティスなのでしょうか。

サーバーサイドの言語はRailsを利用しております。
以下のような形で画像のパスリストを作成するところまではできたのですが、
今まで公開設定の画像しか表示したことがないため、とても困っております。

初歩的な質問で大変恐縮ですが、どうぞよろしくお願いいたします。

AWS.config({access_key_id: key, secret_access_key: secret}) s3 = AWS::S3.new bucket = s3.buckets['bucket_name'] bucket.objects.with_prefix(prefix+'/').each(:limit => 500) do |photo| photo_path = 'https://s3-ap-northeast-1.amazonaws.com/'+ bucket_name + '/' + photo.key photo_path_list.push(photo_path) end

return photo_path_list;

takotakot👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

非公開bucket内の画像をサーバー側で取得しておいてData URI schemeで渡してあげるとか

<img src="data: ほにゃらら

でbase64でエンコードしたものを渡してあげる的な

古すぎるIEはダメだったかな?

投稿2015/12/14 19:24

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ooo

2015/12/16 09:14 編集

おっしゃる通りbase64エンコードでやってみました! ありがとうございます! 備忘までに、S3のフォルダ内の画像をrailsで取得してbase64にエンコードするソースです ↓ bucket.objects.with_prefix(shoot_id+'/').each(:limit => 10) do |photo| image = ""; photo.read do |chunk| image = image + chunk end image = Base64.encode64(image) photo_list.push(image) end
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問