1

我生成一个 xml 并将其存储到某个位置,比如myproject/media/doc.xml我是 erlang 的新手开发人员。我所知道的是我将不得不设置请求标头,例如

"Content-Disposition", "attachment; filename=\"" + Filename + "\""

但我不确定如何通过 ChicagoBoss 实现这一目标。我跟着链接:

  1. 如何在 ChicagoBoss 中下载文件?
  2. 如何通过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 Request 对象与 Cowboy Req 不匹配。

4

0 回答 0