一部不具合を含んだコードや誤った記述があったため、質問を削除しました。再度調べ直して投稿します。
mp4なので画像ではなくて動画ですよね?
まあそこは大した問題ではないのですが。
動画は特に認証とかなしにインターネット上に公開されてもいいものですか?
それであれば、都度サーバ上にS3から取得させるよりもS3バケットを公開してそのURLに遷移させるか、そのURLを使ってHTMLに埋め込んだ方がいいと思います。
あ、画像ではなかったですね、、すみません。それと動画はインターネット上に公開しても問題ないとは思いますが、誰でも見れるようにはしたくないので、そう意味では公開して問題ないわけではないですね…
S3にたくさんmp4のファイルがあるので、それを取ってきて表示したいです。(カード形式で並べるようなイメージです)
先ほど
```
def mp4Url
s3 = Aws::S3::Resource.new(region: "region-name", credentials: Aws::Credentials.new("ID", "SECRET_KEY"))
signer = Aws::S3::Presigner.new(client: s3.client)
presigned_url = signer.presigned_url(:get_object, bucket: "backet-name", key: 'file-name.mp4', expires_in: 260)
return presigned_url
end
```
としたところ、なんとかvideoタグにURLを入れるところまではできました。
動画も表示されました。
このあと複数の動画を表示することをしたいのですが、この方法で問題ないですか?
> 動画はインターネット上に公開しない方が良さそう
それであれば、認証を噛ませた上でそこに書いているpresigned_urlを発行する方法がいいと思います。
あとは一覧を取得してそれぞれに同様の処理をしてやれば行けそうですかね?
あなたの回答
tips
プレビュー