可以将axios请求用于从Rails端点获取zip文件吗?

休斯

我正在尝试向以压缩文件响应的Rails控制器方法发出请求。我如何提出前端Axios请求?

控制器方式:

include ActionController::Streaming
include Zipline

def index
  respond_to do |format|
    format.zip do
      zipline([[@project.attached.url, "#{@project_name.parameterize}.pdf"]], "documents.zip")
    end
  end
end

如果使用视图,该怎么办:

= link_to "Download projects", company_projects_path(@company, format: :zip)

等效的axios请求是什么样的?这不起作用:

  const handleClick = () => {
    axios
    .get(`/projects/${project.id}`, {
      headers: { 'Accept': 'application/zip' }
    })
    .catch(e => console.log(e))
  };
休斯

所以我发现这对我有用:

<a href={`/projects/${project.id}.zip`} download>Download all</a>

与其在onClick axios请求中使用将流式压缩文件流向按钮的按钮(这没有意义),而是简单地创建一个具有指向zip路径链接的锚标记将其下载。

正如max指出的那样,headers: { 'Accept': 'application/zip' }将是访问它的正确格式,但是这样做没有任何意义。

编辑:

查看此答案浏览器将抛出错误Resource interpreted as Document but transferred with MIME type application/zip

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Axios从next.js获取对Laravel端点的请求

可以将AngularJS路由用于某些URL,将常规GET请求用于其他URL吗?

您可以将.env文件用于独立的Dockerfile吗?

我可以将提取器用于本地html文件吗

CSV文件可以用于下载URL中的多个zip文件吗?

zip4j可以用于提取Tar文件吗?

我可以将没有pom文件的zip文件安装到Maven本地存储库吗

可以将 .zip 文件与多个 .csv 文件一起使用吗?

可以在UNIX中搜索zip文件吗

从 axios post api 下载 Zip 文件获取无效文件(React)

从 axios 获取所有端点

从 axios 获取 DRF 分页端点

.htaccess规则,用于获取请求的文件大小

我可以将unix权限存储在zip文件(使用apache ant构建)中吗?

可以将AWS API Gateway用作ZIP文件下载代理吗?

我可以将获取值类型的对象的模式应用于类的非静态成员吗?

我可以只传递请求对象来获取请求吗?

您可以将数组用于 querySelectorAll 吗?

我可以将onmouseover用于div吗?

可以将变量用于接口属性吗?

我可以将UIBarButtonSystemItem用于UIButton吗?

可以将ARRAYFORMULA用于分组的RANK吗?

可以将electronjs用于网站吗

如何获取文件端点

Yaml:我们可以将前缀应用于整个 yaml 文件/文档吗?

我可以将一个lando文件用于多个项目吗?

您可以将配色方案动态应用于单个 css 文件吗?

我们可以将文件名修改后的文件添加到zip存档中吗

是否可以从使用 axios 发回 json 响应的端点获取 <options> 的值?