vue导出zip,vue上传zip文件给后端
这篇文章主要为大家详细介绍了某视频剪辑软件实现活力文件下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了某视频剪辑软件实现活力文件下载的具体代码,供大家参考,具体内容如下
el-button按钮
El-button size= mini type= success @ click=下载句柄(文件名,文件位置)下载/el-button
js处理说明
请求拦截器请求。射流研究…
爱可信引入并创建爱可信实例,请求拦截器添加
从" axios "导入爱可信
//创建爱可信实例
const service=axios.create({
baseURL: ,//api的基础地址
超时:20000,//请求超时时间
参数:{
//请求参数
}
});
//请求拦截器
服务。截击机。请求。使用(配置={
//.配置添加处理
.
返回配置
}
导出默认服务
请求拦截器在请求前处理,可以添加超文本传送协议(Hyper Text Transport Protocol的缩写)标题设置,例如:
1、HTTP请求头:令牌、饼干、会话等值添加处理(config.headers[后台取值名称]=相关值;):
(1)config.headers[token]=标记的值;
(2)配置。标题[ cookie ]= cookie的值;
(3)配置。标头[ session ]= session的值;
2、头球攻门设置:如内容类型
上传文件使用:配置。标题。post[ Content-Type ]= multipart/form-data ;
zip文件下载
1、request.js 代码:
从" axios "导入爱可信
//创建爱可信实例
const service=axios.create({
baseURL: ,//api的基础地址
超时:20000,//请求超时时间
参数:{
//请求参数
}
});
//请求拦截器
服务。截击机。请求。使用(配置={
//配置添加代币值
配置。headers[ token ]=getToken();//getToken()是我的获取值方法,系统校验使用
返回配置
}
导出默认服务
2、vue页面引用request.js
从" @/实用工具/请求"导入请求
下载处理
//文件名下载设置名称,文件位置文件存储名称
下载句柄(文件名,文件位置){
让prome={
文件位置:文件位置
}
request.post(
/api/downloadFile ,
普罗姆,
{
响应类型:“blob”,
超时:60000
}
).然后(响应={
如果(!response.size) {
这个消息({
消息: 没有可下载文件,
类型:"警告"
})
返回
}
常量url=window .URL.createObjectURL(新斑点([响应]))
常量链接=窗口。文档。createelement( a )
link.style.display=none
link.href=url
link.setAttribute("下载",文件名)。zip’)
document.body.appendChild(链接)
link.click()
}).接住(数据)={
console.log(数据)
})
},
后台处理
根据请求/API/下载文件后台简介处理
包com。网络。控制器;
导入org。spring框架。网络。绑定。注释。请求正文;
导入org。spring框架。网络。绑定。注释。请求映射;
导入org。spring框架。网络。绑定。注释。休息控制器;
导入javax。servlet。http。http servlet请求;
导入javax。servlet。http。http servlet响应;
导入Java。io。文件;
导入Java。io。文件输入流;
导入Java。io。输出流;
导入Java。网。URL编码器;
导入Java。util。地图;
@RestController
@RequestMapping(/api )
公共类下载文件演示{
/**
* 文件下载
* @param tranNap
* @param请求
* @param响应
*/
@请求映射(值=/下载文件)
公共void下载文件(@ request body MapString,Object tranNap,HttpServletRequest请求,HttpServletResponse响应){
字符串文件位置=tran nap。get(文件位置)“”;
尝试{
字符串文件路径= D:/file/文件位置 .zip ;
//得到该文件
文件文件=新文件(文件路径);
如果(!file.exists()) {
System.out.println([文件下载]没有可下载的文件);
返回;
}
file inputstream file inputstream=新文件inputstream(file);
//设置超文本传送协议(超文本传输协议的缩写)响应头告诉浏览器下载文件名文件名
回应。设置标题(内容-处置,附件;filename= URL编码器。编码(文件位置).zip , UTF-8 ));
输出流输出流=响应。获取输出流();
字节[]字节=新字节[2048];
int len=0;
while((len=文件输入流。读取(字节))0){
outputStream.write(bytes,0,len);
}
文件输入流。close();
输出流。close();
} catch(异常e) {
System.out.println([文件下载]下载文件异常);
e。printstacktrace();
返回;
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。