gpt4 book ai didi

javascript - 使用基于 token 的 API 下载文件

转载 作者:行者123 更新时间:2023-12-01 03:51:22 25 4
gpt4 key购买 nike

我正在使用 Vue.js(前端)+ Laravel(后端)创建一个 Web 应用程序,并且我构建了整个应用程序以与后端进行通信通过 api 路由。请求通过中间件使用 token (Laravel 中的护照)进行身份验证。在某些时候,我需要下载一些文件,但我不知道如何实现它,因为我无法通过网络路由来识别或验证用户。我可以通过 ajax 请求从 API 发送字节数据,但是很难让用户从 javascript 下载文件(至少很难在每个浏览器上运行)。

那么解决这个问题的最佳方法是什么?

最佳答案

我们最近必须解决这个问题。

首先我们通过ajax请求发送文件流,然后通过HTML5文件API下载文件,但这对于> 5MB的文件造成了很多问题。

我们最后实现的听起来最好的解决方案是使用一些临时 token 创建一个临时文件 URL,以便下载该文件。到期时间为 5 分钟或适合您需要的任何时间。在您的 API 调用中发送该新 URL 并在新选项卡中打开或下载或您想要执行的任何其他操作。

编辑:我们使用 Amazon s3 进行存储,因此身份验证不是问题,但您需要对身份验证层进行更改,以允许无需 token 的临时 URL 访问到达您的临时文件处理 Controller 。

关于javascript - 使用基于 token 的 API 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com