【发布时间】:2013-07-18 20:33:58
【问题描述】:
我一直在做使用carrierwave进行文件上传的rails应用程序。如何使用 Grape API 将现有文件发送到客户端?假设文件位于“public/uploads/datafile/1/file.txt”目录中。
【问题讨论】:
标签: ruby-on-rails carrierwave grape grape-api
我一直在做使用carrierwave进行文件上传的rails应用程序。如何使用 Grape API 将现有文件发送到客户端?假设文件位于“public/uploads/datafile/1/file.txt”目录中。
【问题讨论】:
标签: ruby-on-rails carrierwave grape grape-api
如果我没有设置 '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
【讨论】:
只要设置好内容类型,就跟发送文件内容一样简单。
content_type "text/plain"
File.read(...)
【讨论】: