vue 中从后端获取到文件的 url 地址,前端根据 url 地址下载文件_vue根据url下载文件

   日期:2024-12-26    作者:5tjgz 移动:http://oml01z.riyuangf.com/mobile/quote/43055.html
专业技能

一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

  • HTML+CSS
  • JavaScript
  • 前端框架
  • 前端性能优化
  • 前端监控
  • 模块化+项目构建
  • 代码管理
  • 信息安全
  • 网络协议
  • 浏览器
  • 算法与数据结构
  • 团队管理
  • 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等

由于文章篇幅有限,仅展示部分内容

vue 之从后端获取到文件的 url 地址,前端根据 url 地址文件下载
  • 前言
  • 一、实现思路
  • 二、具体实现
    • 1.完整代码
      • 2.代码分析
        • 2.1 通过 fetch 将 url 地址转换为 blob 对象
          • 2.2 通过 URL.createObjectUrl() 将 blob 对象生成 url 地址
          • 2.3 创建 标签元素,将该元素放到页面当中,并通过点击事件来实现下载功能
  • 总结

项目用的是 vben admin 框架,用的是 vue3 + TS
项目需求数据导出功能,前端需要实现文件下载功能
后端返回的是文件的 url 地址 (本项目中返回的是阿里云 oss 的文件地址)


从后端得到的是一个 url 地址,先通过 fetch api 请求这个 url 地址并转换成 blob 对象,通过 URL.createObjectUrl() 将 blob 对象生成 url 地址,绑定到 标签 的 href 属性上面,结合 download 来实现点击 标签下载文件

1.完整代码

代码如下

 

2.代码分析

2.1 通过 fetch 将 url 地址转换为 blob 对象

以下图片来自w3cschool文档 fetch_api

分析

res.blob() 的返回值是什么
从文档中我们知道res.blob() 返回的并不是一个 blob 对象,而是一个 Promise,继续 .then 获取到的才是 blob 对象

res.blob() 到底做了什么
每调用一次 res.blob() 都会执行 的动作

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号