3

最近、Ruby on Rails では、AJAX リクエストを使用しない限り、単一の HTTP リクエストで複数のファイルをダウンロードできないことを知りました。私は今、それを行う方法を理解しようとしています。

(Ruby on RAils 3でPDFクリエーターとしてPrawnを使用しています)コントローラーにPDFをレンダリングしてsend_dataを使用するアクションがあります

def download_quote          
pdf = QuotesPdf.new(params)
send_data pdf.render, filename: "foo.pdf",
                    type: "application/pdf",
                    disposition: "download"
end

次に、HTMLビューに、この機能するJscriptコードを持つボタンがあります

// AJAX, download
function ajaxRequest(){
    $.ajax({
      type: 'POST',
      url: '/download_quote/126',
      success: function(data){
        alert(data);
      }
    });
    return false;
  }

  $("#mydownload").click(ajaxRequest);

PDFのレンダリングに数秒かかった後、「#mydownload」をクリックすると、すべてのPDFファイルと思われる内部データを含むアラートボックスが正常に表示されます。

質問: PDF ファイルのデータを変換して自動的にダウンロードするにはどうすればよいですか?

4

1 に答える 1

2

「ダウンロード」は有効なコンテンツ処理タイプではないと思います。代わりに「添付ファイル」を使用してみてください。

コンテンツの処分

def download_quote          
    pdf = QuotesPdf.new(params)
    send_data pdf.render, filename: "foo.pdf",
        type: "application/pdf",
        disposition: "attachment"
end
于 2012-10-26T12:52:15.363 に答える