質問

Amazon S3を使用して、ユーザーアカウントのユーザーコンテンツを保存および提供しています。インライン(画像用のURLがブログ投稿などにある場合がある場合も)またはダウンロードとしてファイルを提供する機能が必要です。デフォルトでは、ファイルをS3バケットにアップロードするときに、ファイルにはコンテンツディスポジションセットがありません(ブラウザがファイルMIMEを認識する限りサーバーインラインになるため問題ありません)が、コンテンツを設定する必要があります。ファイルをダウンロードするための添付ファイルへの気質。

Rails/S3 GEMを使用して、Amazonにリクエストを送信して、そのリクエストのためにコンテンツディスポジションセット(またはVise-Bersa)にファイルを送信する必要があることを指定することは可能ですか?おそらく、ある種のトークンを使用することができます(リクエストのトークンを参照して、通常は認証された読み取りに使用されます...それがこの状況でも私を助けることができるかどうか疑問に思います)? S3 GEMを使用して、各ファイルのコンテンツ拡散を設定および保存する方法を知っていますが、ファイルを常にダウンロードし、画像のインラインとして使用できません(テストされていません)。

2つのファイル(コンテンツディスポジション= 'ダウンロード'セットのある場合とない場合は1つ)がありますが、アイデアはありますか?前もって感謝します。

PS私はRails Rails 2、Attachment_Fu、およびAWS-S3 GEMを使用しています(上記のアプリははるかに大きくて実行されているアプリの一部であり、AWS-S3とAWS_RIGHT GEMの間に競合が存在することを知っているため、これらを変更できません)

役に立ちましたか?

解決

誰かがこの古い投稿に出くわした場合に備えて、AmazonのAPIは、S3に保存されているファイルのコンテンツディスポジションを変更できるようになりました。 ここで発表を読んでください。

他のヒント

コンテンツ拡張はアップロード時に設定されていると思うので、ファイルの2つのコピーがそれぞれ独自のコンテンツを配置したくない場合は、send_fileを使用してコントローラーからストリーミングすることです。http://api.rubyonrails.org/classes/actioncontroller/streaming.html#method-i-send_file

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top