0

wkhtmltopdf の出力をユーザーに送信したいだけです。そんなに難しくないはずです。

def it
    send_pdf "file.pdf"
end

def send_pdf(file)
  url= url_for(params) # Example: http://localhost:3000/report/it
  webkit= Rails.root.join('app', 'bin', 'wkhtmltopdf', 'current')
  cmd= "#{webkit} -q \"#{url_for(params)}\" -"

  data= IO.popen(cmd).read ############### HANGS HERE ###################

  send_data(data, type: "application/pdf", filename: file)
end

ハングする理由と修正方法を教えてください。

4

1 に答える 1

0

ここでの手がかりは、それがローカル開発サーバーである可能性があると思います-おそらく、一度に1つのリクエストしか受け入れることができません.

テストするには、別の場所から html を取得してみてください。

def send_pdf(file)
  # [...]
  cmd= "#{webkit} -q http://brighterplanet.com -"
  # [...]
end

それが機能する場合、質問に対する答えは、開発サーバーが「シングルスレッド」であるということです。

于 2012-05-31T13:41:58.820 に答える