Como permitir que o usuário baixe um arquivo no ChicagoBoss
Eu gero um xml e guardo em algum local, digamosmyproject/media/doc.xml
Como eu sou desenvolvedor novato com erlang. O que eu sabia é que terei que definir cabeçalhos de solicitação como
"Content-Disposition", "attachment; filename=\"" + Filename + "\""
Mas não sei como conseguir isso com o ChicagoBoss. Eu segui os links:
Como baixar arquivos no ChicagoBoss?Como baixar um arquivo por erlang cowboy?Mas ainda não tive a ideia clara de como fazer isso. O que tentamos fazer é:
download_xml('GET', [])->
Fun = fun (Socket, Transport) ->
Transport:sendfile(Socket, "/home/laxmikant/Desktop/demo.xml")
end,
Req2 = cowboy_req:set_resp_body_fun( F, Req),%% Req is available here
Req3 = cowboy_req:set_resp_header(<<"Content-Disposition">>, "GET", Req2),
Req4 = cowboy_req:set_resp_header(<<"attachment;filename=\"demo.xml\"">>, "GET", Req3),
Req5 = cowboy_req:set_resp_header(<<"Content-Length">>, "GET", Req4),
Req6 = cowboy_req:set_resp_header(<<"1024">>, "GET", Req5),
cowboy_req:reply(200, [
{<<"content-type">>, <<"application/octet-stream">>}
], "", Req6).
Mas parece que o objeto ChicagoBoss Request não corresponde ao Cowboy Req.