前端vue+express怎么实现文件的上传下载
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"前端vue+express怎么实现文件的上传下载",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"前端vue+express怎么实现文件的上
千家信息网最后更新 2025年11月08日前端vue+express怎么实现文件的上传下载
本篇内容主要讲解"前端vue+express怎么实现文件的上传下载",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"前端vue+express怎么实现文件的上传下载"吧!
新建server.js
yarn init -yyarn add express nodemon -Dvar express = require("express");const fs = require("fs");var path = require("path");const multer = require("multer"); //指定路径的var app = express();app.use(express.json());app.use(express.urlencoded({ extended: true }));// 前端解决跨域问题app.all("*", (req, res, next) => { res.header("Access-Control-Allow-Origin", "*"); next();});// 访问静态资源app.use(express.static(path.join(__dirname)));// 文件上传app.post("/upload", multer({ dest: "./public" }).any(), (req, res) => { const { fieldname, originalname } = req.files[0]; // 创建一个新路径 const name = fieldname.slice(0, fieldname.indexOf(".")); const newName = "public/" + name + path.parse(originalname).ext; fs.rename(req.files[0].path, newName, function (err) { if (err) { res.send({ code: 0, msg: "上传失败", data: [] }); } else { res.send({ code: 1, msg: "上传成功", data: newName }); } });});// 文件下载app.get('/download', function(req, res) { res.download('./public/test.xls');});// 图片下载app.get('/download/img', function(req, res) { res.download('./public/2.jpg');});let port = 9527;app.listen(port, () => console.log(`端口启动: http://localhost:${port}`));(1):前端文件上传请求
第一种: form表单

第一种: input输入框
changeHandler(event) { let files = event.target.files[0]; console.log("files",files) let data = new FormData(); data.append(files.name,files); console.log("data",data) axios.post("http://localhost:9527/upload",data,{ headers:{ "Content-Type":"multipart/form-data" } }).then(res =>{ console.log("res",res) }) },
(2):前端文件下载
第一种: 后端返回一个下载的链接地址,前端直接使用 即可
第二种: 使用二进制流文件下载
handleDownload() { axios({ method: 'get', url: "http://localhost:9527/download", data: { test: "test data" }, responseType: "arraybuffer" // arraybuffer是js中提供处理二进制的接口 }).then(response => { // 用返回二进制数据创建一个Blob实例 if(!response) return; let blob = new Blob([response.data], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", }) // for .xlsx files // 通过URL.createObjectURL生成文件路径 let url = window.URL.createObjectURL(blob) console.log("url==========",url) // 创建a标签 let ele = document.createElement("a") ele.style.display = 'none' // 设置href属性为文件路径,download属性可以设置文件名称 ele.href = url ele.download = this.name // 将a标签添加到页面并模拟点击 document.querySelectorAll("body")[0].appendChild(ele) ele.click() // 移除a标签 ele.remove() }); },(3) 附加:二进制流图片的下载
// 二进制流图片文件的下载 downLoadImg() { axios({ method: 'get', url: `http://localhost:9527/download/img`, responseType: 'arraybuffer', params: { id: 12 } }).then(res => { var src = _'data:image/jpg;base64,' + btoa(new Uint8Array(res.data).reduce((data, byte) => data + String.fromCharCode(byte), '')) // this.srcImg = src // 图片回显 var a = document.createElement('a') a.href = src a.download = '2.jpg' a.click() a.remove() }) }到此,相信大家对"前端vue+express怎么实现文件的上传下载"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
前端
二进制
图片
路径
上传下载
文件下载
标签
内容
属性
学习
实用
更深
成功
兴趣
名称
图片下载
地址
实例
实用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
富士服务器报警代码OL
yii2 多数据库
遂溪广游网络技术有限公司
通讯稿范文网络安全200字
邮箱服务器系统
什么是获取服务器测试数据
网络安全网课图解
招商集团有软件开发公司
米脂软件开发
监理软件开发公司 宁波
江苏的网络安全公司
方舟服务器没有存档文件夹
sq数据库管理系统
lol服务器人排行
新闻内容怎么存储到数据库中
巩固网络安全 共创和谐社会
2008数据库连接报错53
网络安全监督检查自查表怎么填
c#数据库统计
平面设计跟软件开发值得做吗
网络安全专科前景
关闭服务器增强安全浏览
储存服务器
网络安全的工作咋样
长连接服务器应用协议
tp5 数据库迁移
服务器电源关闭后多长时间能开启
社区节前网络安全宣传
触宝电话数据库
天河软件开发公司怎么样