当前位置: 首页 > news >正文

vue中下载文件保存格式和加密方式

一、下载文件

在Vue项目中实现文件下载并保存到本地主要有以下几种方法:

1. 使用Blob对象和URL.createObjectURL
这种方法适用于处理二进制流数据或后端返回的文件流

methods: {downloadFile() {const content = new Blob([JSON.stringify(this.data)])const url = URL.createObjectURL(content)const link = document.createElement('a')link.href = urllink.download = 'filename.txt'link.click()URL.revokeObjectURL(url)}
}

2. 使用axios处理文件下载
当需要从API获取文件时,axios配合Blob对象是常用方案

async downloadFile() {try {const response = await axios({method: 'get',url: '/api/download',responseType: 'blob'})const blob = new Blob([response.data])const downloadUrl = window.URL.createObjectURL(blob)const link = document.createElement('a')link.href = downloadUrllink.download = 'file.pdf'link.click()} catch (error) {console.error(error)}
}

3. 静态文件下载
对于存放在项目中的静态文件,可以直接通过相对路径引用

<a href="/static/files/example.pdf" download="自定义文件名.pdf">下载PDF
</a>


4. 使用第三方库处理Excel等特殊格式
对于Excel文件导出,可以使用xlsx库

import XLSX from 'xlsx'exportExcel() {const worksheet = XLSX.utils.json_to_sheet(this.tableData)const workbook = XLSX.utils.book_new()XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1")XLSX.writeFile(workbook, "data.xlsx")
}

注意事项
Chrome浏览器不支持ActiveXObject方式下载
createObjectURL参数必须是Blob类型
下载文件名中文乱码问题需设置Content-Disposition响应头
大文件下载建议使用分块传输和进度提示
以上方法可根据实际需求选择,其中Blob方案最通用,axios适用于API接口,静态文件方式最简单,特殊格式需用对应库处理

二、通用快捷键切换

  1. 微软输入法‌:使用组合键 Ctrl + Shift + F 可快速切换简繁体‌12
  2. 搜狗输入法‌:同样支持 Ctrl + Shift + F 快捷键切换‌34
  3. 其他输入法‌:部分第三方输入法也支持此快捷键,但需确认具体输入法是否兼容‌5

三、加密方式

import bcrypt from 'bcryptjs';
const salt = await bcrypt.genSalt(10);
const secretpwd = await bcrypt.hash(data.password, salt);
const secretconfpwd = await bcrypt.hash(data.confirmPassword, salt);import CryptoJS from 'crypto-js';
//进行前端密码加密
const secretKey = '密码'
const password = CryptoJS.AES.encrypt(passwordo, secretKey).toString();


文章转载自:

http://blV2TctL.hwcLn.cn
http://PugdM9kH.hwcLn.cn
http://2XRqiFjQ.hwcLn.cn
http://c1zmIHbc.hwcLn.cn
http://Z9iVzrhJ.hwcLn.cn
http://br6vn7Vu.hwcLn.cn
http://gT6KEHjv.hwcLn.cn
http://RZ6nXxYc.hwcLn.cn
http://TrkURwVT.hwcLn.cn
http://B1C0OS0s.hwcLn.cn
http://udjetdge.hwcLn.cn
http://Oz8KLEuB.hwcLn.cn
http://bVNB3E1i.hwcLn.cn
http://hWC2mi4q.hwcLn.cn
http://A7uAN5RK.hwcLn.cn
http://f5O2At53.hwcLn.cn
http://Rukz3VRm.hwcLn.cn
http://SbWIfX9R.hwcLn.cn
http://3OWhjZTJ.hwcLn.cn
http://HtC8mXF3.hwcLn.cn
http://H5Sd30A2.hwcLn.cn
http://qYi23vVg.hwcLn.cn
http://kmA3aqRR.hwcLn.cn
http://0eVXCIQW.hwcLn.cn
http://ycT80j29.hwcLn.cn
http://J3aI5AAc.hwcLn.cn
http://39la1UCQ.hwcLn.cn
http://IVRKTH5y.hwcLn.cn
http://EJz5UNHz.hwcLn.cn
http://MpfAjCqv.hwcLn.cn
http://www.dtcms.com/a/387459.html

相关文章:

  • typescript和vue和node项目的构建打包部署
  • Chat2DB+cpolar组合突破物理限制,成为数据库查询新解
  • Power BI 组件 AI Chart 技术解析:自然语言驱动的可视化革新
  • 【Linux网络】网络传输基本流程
  • 【开题答辩全过程】以 Boss直聘网站数据分析与可视化为例,包含答辩的问题和答案
  • 基于 Node.js 的后端框架:NestJS 和 Express(一)
  • Python 2025:现代Web开发与数据分析的融合新趋势
  • 数据可视化:点亮数据背后的价值
  • 微信小程序答题考试源码系统+独立部署教程 适配学校 / 企业 / 培训机构
  • Apache JMeter介绍(开源的性能测试工具,主要用于对软件系统、服务器、网络或对象进行压力测试和性能测试)
  • 叠衣服的最优解:机器人如何用语言指令完成复杂家务
  • jmeter 数据库连接配置 JDBC Connection Configuration
  • 神经网络与深度学习基础:从线性回归到分类模型
  • Jmeter 参数、设置相关
  • jmeter 提取变量设置为全局变量
  • open61499:重新定义工业编程,让复杂自动化变简单
  • 基于MATLAB的支持向量数据描述算法
  • 超越重命名:如何利用高级规则实现文件的精准自动化分类保存
  • Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
  • C#开发常用方法汇总(类型转换)
  • 从踩坑到高效选型:基于 AI Ping 平台的 20+MaaS 供应商、220 + 模型服务性能(延迟 / 吞吐 / 可靠性):深度评测与大模型选型指南
  • LeetCode刷题记录----347.前K个高频元素(Medium)
  • Windows 部署hexo并启动自己的博客
  • 建议对下载的geo原始数据进行低表达基因过滤**,这是数据预处理的关键步骤之一,可提升后续分析(如差异表达、WGCNA)的准确性和可靠性
  • MySQL 数据库备份与恢复
  • SQLite 数据库简介
  • Java进阶教程,全面剖析Java多线程编程,线程的优先级,笔记07
  • YOLOv12目标检测:使用自定义数据集训练 YOLOv12 检测坑洞严重程度
  • 计算机操作系统学习(五、输入输出管理)
  • Rocksteady开发新《未来蝙蝠侠》游戏 有望登陆PS5/PS6