elixir - 在浏览器 Elixir 中下载分块文件失败
问题描述
显然,我似乎缺少要在代码中添加的内容。我正在发送分块的 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
邮差
铬合金
解决方案
我发现我做错了什么。我正在发送状态代码206
而不是200
. 归功于指出我的@NobbZ(Slack)。更改状态代码后,它按预期工作。
推荐阅读
- java-8 - Jboss 7.2.2 迁移中的问题
- docker - Debian 软件包 'ssmtp' 没有安装候选
- angular - 在 Angular 中拦截 HTTP 标头
- python - 在 Python 中将带有数组的嵌套 JSON 转换为 DataFrame
- c++ - 在 C++ 中返回数组返回不可访问的元素
- php - 在网站中创建 PHP 表单时遇到问题
- mysql - 在新的行排序中获取值的位置
- ggplot2 - 如何在 gpplot 面板(facet_grid)中提取 stat_smooth 曲线最大值?
- line - 如何检查所有推送给多个用户的消息(一次)是否对所有用户都成功?
- java - 如何在 Java 中使用 Switch 和 Enum 参数(不是 ENUM VALUE)?