나는 파일 업로드를 위해 carrierwave를 사용하는 레일 애플리케이션을 수행 해왔다. Grape API를 사용하여 기존 파일을 클라이언트로 보내려면 어떻게해야합니까? 파일이 "public/uploads/datafile/1/file.txt"디렉토리에 있다고 가정합시다.포도 API를 사용하여 클라이언트에 파일 보내기
1
A
답변
1
콘텐츠 유형을 설정하는 한 파일 내용을 보내는 것만 큼 쉽습니다. 내가 'api_format'
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
이 포도에 있던를 설정하지 않은 경우
content_type "text/plain"
File.read(...)
2
나는 UTF8 문자 변환을 얻고 있었다 0.4.1