0

显然,我似乎缺少要在代码中添加的内容。我正在发送分块的 HTTP 响应和内容类型text/csv,因此如果我在浏览器中打开它,它应该会下载。但它无法下载,我不知道它的解决方案,因为我正在学习长生不老药。这是我正在尝试的代码。你能帮我解决这个问题吗?

get "/dbs/foo/tables/source" do
  conn
  |> put_resp_content_type("text/csv")
  |> send_chunked(206)
  |> foo_data
end


  defp foo_data(conn) do
    Enum.reduce_while(["every-","word-","is-","a-","chunk"], conn, fn (chunk, conn) ->
      case Plug.Conn.chunk(conn, chunk) do
        {:ok, conn} ->
          {:cont, conn}
        {:error, :closed} ->
          {:halt, conn}
      end
    end)
  end

邮差

邮递员截图

铬合金

铬截图

4

1 回答 1

0

我发现我做错了什么。我正在发送状态代码206而不是200. 归功于指出我的@NobbZ(Slack)。更改状态代码后,它按预期工作。

于 2020-05-08T22:50:23.340 回答