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

红酒公司网站建设湛江在线制作网站

红酒公司网站建设,湛江在线制作网站,软件推广平台有哪些,网页系统升级中每天自动更新前言 一开始用的是循环单个文件下载,即从后台获取到文件url列表,循环对每个url单独进行下载,这样的问题是每调用一次下载,浏览器都会进行“另存为”的弹框,很麻烦!!! 关闭“下载前…

前言

一开始用的是循环单个文件下载,即从后台获取到文件url列表,循环对每个url单独进行下载,这样的问题是每调用一次下载,浏览器都会进行“另存为”的弹框,很麻烦!!!

关闭“下载前询问每个文件的保存位置”,又不是我想要的,这样就不提示保存位置,直接下载到浏览器的默认位置。而且按网上的方法,在程序代码里不让它弹“另存为”的弹框,也不起作用(具体方法放到了参考文章中)。

所以就产生了批量下载并打压缩包的想法。

解决方法

1、下载插件

npm install jszip
npm install file-saver

注: install完成后,会自动在package-lock.json和package.json中,添加上所需依赖。

2、在vue文件中使用

import JSZip from 'jszip'
import FileSaver from 'file-saver'

3、下载文件以及打包方法

    /**文件打包* arrImages:文件list:[{fileUrl:文件url,renameFileName:文件名}]* filename 压缩包名* */filesToRar(arrImages, filename) {let _this = this;let zip = new JSZip();let cache = {};let promises = [];_this.title = '正在加载压缩文件';const loading = this.$loading({lock: true,text: '正在加载压缩文件',spinner: 'el-icon-loading',background: 'rgba(0, 0, 0, 0.7)'});console.log("aaaa",arrImages);for (let item of arrImages) {console.log("item",item)// 下载文件, 并存成ArrayBuffer对象const promise = this.getImgArrayBuffer(item.fileStaticUrl).then(data => { // 获取文件名const file_name = encodeURIComponent(item.fileId) // 逐个添加文件zip.file(file_name, data, { binary: true })           cache[file_name] = data})promises.push(promise);}Promise.all(promises)// 生成二进制流.then(() => {zip.generateAsync({ type: "blob" }).then(content => {_this.title = '正在压缩';// 利用file-saver保存文件  自定义文件名FileSaver.saveAs(content, filename);             _this.title = '压缩完成';});loading.close();}).catch(res=>{_this.$message.error('文件压缩失败');loading.close();});},

   getImgArrayBuffer(url) {return new Promise((resolve, reject) => {//通过请求获取文件blob格式let xmlhttp = new XMLHttpRequest();xmlhttp.open("GET", url, true);xmlhttp.responseType = "blob";xmlhttp.onload = function () {if (this.status == 200) {resolve(this.response);} else {reject(this.status);}};xmlhttp.send();});},

4.获取文件url列表

    getFileUrls() {     this.$http({url: this.$http.adornUrl("/fileSystemApi/fileInfo/batch/download"),method: "post",data: {fileInfoList: this.dataListSelections,updateBy: this.$cookie.get('username')},}).then(({ data }) => {console.log("getFileUrls",data)this.fileInfoList = data.data.fileInfoList;console.log("sd",this.fileInfoList) this.filesToRar(this.fileInfoList, this.getTimestamp());});},

获取的fileInfoList即第3步中的arrImages,时间戳当做压缩包的文件名

5.在data中定义变量

data() {return {dataForm: {id: "",bucketId: "",fileId: "",fileType: "",syscode: "",fileCustno: "",createTime: "",},dataList: [],dataListSelections: [], // 选中数据dataIdListSelections: [], // 选中iddataListLoading: false,currPage: 1,pageSize: 10,totalCount: 0,url: "",fileInfoList: "",dialogVisible: false,};},

6.点击按钮

<template><div><!-- 省略其他... --><el-form:inline="true":model="dataForm"@keyup.enter.native="getDataList()"><el-form-item><el-button type="primary" @click="getFileUrls()">批量下载</el-button></el-form-item></el-form></div>
</template>

参考文章

https://blog.csdn.net/qq_47498423/article/details/131191964

http://www.taodudu.cc/news/show-5240586.html?action=onClick

https://code84.com/821872.html

http://www.taodudu.cc/news/show-4791614.html?action=onClick

循环单个文件下载的方式

https://blog.csdn.net/qq_41131745/article/details/128861548

https://blog.csdn.net/qq_42840904/article/details/131582093

https://ask.csdn.net/questions/7733361

https://blog.csdn.net/weixin_52268321/article/details/130465839

https://www.5axxw.com/questions/simple/qq469i

https://blog.csdn.net/weixin_43227235/article/details/130227361

http://www.yayakq.cn/news/468706/

相关文章:

  • cnzz 网站域名怎么填wordpress能做跨境电商
  • 陕西 建设工程有限公司网站app开发制作平台网站建设
  • iframe 网站前台模板提供专业网站建设平台
  • 别人做的网站怎么打开吗如何进行电子商务网站建设规划
  • 网站建设教程皆赞湖南岚鸿完成做一个公司网页要多少钱
  • 做拍福利爱福利视频网站免费网站开发合同范本
  • 衡阳企业网站dw自己做网站需要什么
  • 桌面网站怎么做seo页面代码优化
  • 好看的手机网站推荐建设网站外包
  • 网站建设情况调查表高端设计网站平台
  • 做招聘网站的要求百色市右江区了建设局网站
  • 移动网站建设推广做招聘的网站有哪些内容
  • 查看网站的注册时间做网站一般用什么框架
  • .net如何兼容手机网站企业局域网的规划与设计
  • 做网站运营是有提成的吗上海微网站建设
  • 南昌建设企业网站公司教做缝纫的网站
  • 品牌网站解决方案侧边导航条wordpress
  • 常州网站制作包括哪些wordpress视频播放器代码
  • 装饰公司看的设计网站亿万网站
  • 如何优化网站图片大小近期军事新闻事件
  • 站内优化包括哪些设计师论坛
  • 免费建站网站一级大录像不卡惠州网络营销
  • 南昌市网站备案程序开发环境
  • 潍坊网站建设选聚搜网络好重庆企业网
  • 聊城网站营销电影制作公司
  • 扬州做网站的公司哪个好如何开发高端市场
  • 网站建设大师erp系统入门教程
  • 一个成功的网站必须具备手机怎么上wap网站
  • 怀远县建设局门户网站简洁的中文wordpress模板
  • 网站建设毕业设计中期报告网站如何清除百度收录