我一直在做使用carrierwave进行文件上传的rails应用程序。如何使用Grape API将现有文件发送到客户端?我们假设该文件位于“public / uploads / datafile / 1 / file.txt”目录中。
答案 0 :(得分:2)
如果我没有设置'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
答案 1 :(得分:1)
只要您设置内容类型,就像发送文件内容一样简单。
content_type "text/plain"
File.read(...)