2

できれば小さな問題があります。

Ruby on Rails と Paperclip を使用してファイルのアップロードを処理しています。ここで、Content-Disposition ヘッダーを「添付ファイル」に自動的に設定して、ユーザーがリンクをクリックしたときに、ブラウザーに直接表示されるのではなく、ファイルがダウンロードされるようにします。

Amazon S3 の次のソリューションを見つけました: クリックでファイルをダウンロード - Ruby on Rails

しかし、私はS3を使用していません。誰でも助けることができますか?

前もって感謝します、/Lasse

4

2 に答える 2

0

このリンクによると、次のことができます。

<Files *.xls> ForceType application/octet-stream Header set Content-Disposition attachment </Files> 
<Files *.eps> ForceType application/octet-stream Header set Content-Disposition attachment </Files>
于 2012-11-08T15:23:25.173 に答える
0

ファイル ストレージを使用する場合、Paperclip はファイルをRAILS_ROOT/public/systemフォルダー内に保存します (オプションを使用して構成可能:path)。

フォルダーのファイルは、/public静的ファイルとして直接提供されます。「Rails/Rack は public フォルダーへのリクエストを認識しません」( cwninja を引用)。

フォルダーのファイルは、/publicこのアプリを実行している Web サーバー (開発中の Apache や WEBrick など) によって提供されます。また、Web サーバーは、ファイルの提供時にヘッダーを設定する責任があります。そのため、添付ファイルに正しいヘッダーを設定するように Web サーバーを構成する必要があります。

もう 1 つのオプションは、コントローラーまたはいくつかの Rack ミドルウェアを構築して、クリップの添付ファイルを提供することです。そこでは、次のようなことができますresponse.headers['Content-Disposition'] = 'attachment'

Content-Disposition3 番目のオプションは、S3 を使用することです。その後、ヘッダー ( など) を S3 オブジェクト内に格納できます。次に、S3 は、これらのヘッダーを使用してクリップの添付ファイルを提供します。

于 2012-08-29T19:58:28.423 に答える