我生成一个 xml 并将其存储到某个位置,比如myproject/media/doc.xml
因为我是 erlang 的新手开发人员。我所知道的是我必须设置请求标头,例如
"Content-Disposition", "attachment; filename=\"" + Filename + "\""
但我不确定如何通过 ChicagoBoss 实现这一目标。
我点击了链接:
- 如何在ChicagoBoss中下载文件?
- 如何使用erlang牛仔下载文件?
但我仍然不知道如何做到这一点。我们试图做的是:
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).
但似乎 ChicagoBoss 请求对象与 Cowboy 请求不匹配。