2

ファイルのアップロードにcarrierwaveを使用するレールアプリケーションを実行しています。Grape API を使用して既存のファイルをクライアントに送信するにはどうすればよいですか? ファイルがディレクトリ「public/uploads/datafile/1/file.txt」にあると仮定しましょう。

4

2 に答える 2

3

「api_format」を設定しなかった場合、utf8 文字変換を取得していました

if file_path && File.exists?(file_path)
  data = File.open(file_path, 'rb').read

  header "Content-Disposition:", " infile; filename=\"#{File.basename(file_path)}\""
  content_type 'application/x-gzip'

  env['api.format'] = :binary

  present data
end

これはブドウ0.4.1でした

于 2013-10-03T01:03:46.483 に答える
1

コンテンツ タイプを設定する限り、ファイルのコンテンツを送信するのと同じくらい簡単です。

content_type "text/plain"
File.read(...)
于 2013-08-03T21:29:06.613 に答える