Como permitir o download do arquivo binário usando a API do GRAPE
Eu quero permitir o download de um arquivo binário (arquivo .p12) usando a API de uva do ruby. É isso que estou tentando.
get '/download_file' do
pkcs12 = generate_pkcsfile
content_type('application/octet-stream')
body(pkcs12.der)
end
O código equivalente usando ActionController é
begin
pkcs12 = generate_pkcsfile
send_data(pkcs12.der,
:filename => 'filename.p12')
end
O problema é que o arquivo baixado usando a API parece ser um arquivo de texto com um prefixo '\ ufffd' embutido para cada caractere, enquanto o arquivo baixado usando o navegador parece ser um arquivo binário. Como eu uso a estrutura da API do GRAPE para permitir o download do mesmo arquivo que é baixado via send_data do ActionController?