如何通过后端提供的url高效下载并解析json文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1563个文字,预计阅读时间需要7分钟。
目录 + 需求场景描述 + 实现思路分析 + 完整的demo + 示例 + 总结 + 需求场景描述 + 遇到异常接口会返回一个url地址,前端需要根据这个url地址去下载文件资源的请求场景。
目录
- 需求场景描述
- 实现思路分析
- 完整的 demo 示例
- 总结
需求场景描述
有时候会遇到异步接口会返回一个 url 地址,然后前端需要根据这个 url 地址去下载文件资源的需求场景。 而这个 url 其实是一个静态资源地址,并非一个经过后端接口内部处理的接口地址。 所以当尝试像下面这样使用 a 标签去执行该 url 地址,会发现它是直接预览打开的一个 json 文件(也可能是一个txt,js等文件)
<a href=" 192.168.0.172:8888/file/package.json" rel="external nofollow" download="package.json">下载json</a>
在浏览器窗口直接打开该 url ,会发现它也是直接打开了这个 json 文件。txt,js,css 等可访问的静态资源地址也会被直接打开(这或许叫预览,两种形式,一种是预览文件,另一种是下载文件)而不是下载。 这和资源地址返回的方式(responseType)有关, 默认返回的可能是字节流或字符流的形式,而这种返回形式能被浏览器识别预览,于是就直接打开了(执行了预览文件模式)。
本文共计1563个文字,预计阅读时间需要7分钟。
目录 + 需求场景描述 + 实现思路分析 + 完整的demo + 示例 + 总结 + 需求场景描述 + 遇到异常接口会返回一个url地址,前端需要根据这个url地址去下载文件资源的请求场景。
目录
- 需求场景描述
- 实现思路分析
- 完整的 demo 示例
- 总结
需求场景描述
有时候会遇到异步接口会返回一个 url 地址,然后前端需要根据这个 url 地址去下载文件资源的需求场景。 而这个 url 其实是一个静态资源地址,并非一个经过后端接口内部处理的接口地址。 所以当尝试像下面这样使用 a 标签去执行该 url 地址,会发现它是直接预览打开的一个 json 文件(也可能是一个txt,js等文件)
<a href=" 192.168.0.172:8888/file/package.json" rel="external nofollow" download="package.json">下载json</a>
在浏览器窗口直接打开该 url ,会发现它也是直接打开了这个 json 文件。txt,js,css 等可访问的静态资源地址也会被直接打开(这或许叫预览,两种形式,一种是预览文件,另一种是下载文件)而不是下载。 这和资源地址返回的方式(responseType)有关, 默认返回的可能是字节流或字符流的形式,而这种返回形式能被浏览器识别预览,于是就直接打开了(执行了预览文件模式)。

