2

我一直在做使用carrierwave进行文件上传的rails应用程序。如何使用 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 回答