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

阿里云做淘宝客网站重庆景点图片高清图片

阿里云做淘宝客网站,重庆景点图片高清图片,适合做浏览器主页的网站,做婚庆网站图片下载文章目录 上传下载进度条 场景:要上传一个zip,调用接口,然后下载一个zip。调用接口的接口响应要显示在进度条中。 上传 上传用的是input原生控件,在页面中隐藏。accept"application/zip"限制只能上传zip。 点击button…

文章目录

    • 上传
    • 下载
    • 进度条

场景:要上传一个zip,调用接口,然后下载一个zip。调用接口的接口响应要显示在进度条中。

上传

上传用的是input原生控件,在页面中隐藏。accept="application/zip"限制只能上传zip。
点击button实现上传,调用input原生组件的方法。

<el-buttontype="primary"size="large"@click="uploadSrt">上传srt</el-button
>
<inputref="srtInput"type="file"style="display: none"accept="application/zip"@change="handleUploadSrt"/>

在event中拿到上传的文件file。

注意,要使用formData和'Content-Type': 'multipart/form-data',以支持二进制的传输。

不能用application/json的响应头,File对象不能被序列化为JSON。

详情看注释。

uploadSrt() {this.$refs.srtInput.click()
},
// input原生控件的上传事件,file是拿到的文件
handleUploadSrt(event) {const file = event.target.files[0]this.upload(file)
},upload(file) {// 用FormData,支持二进制数据传输let formData = new FormData()formData.append('file', file)axios.post('url', formData, {headers: {'Content-Type': 'multipart/form-data',},//   进度条进度onDownloadProgress: (progressEvent) => {if (progressEvent.total > 0) {this.srtProgress = Math.round((progressEvent.loaded * 100) / progressEvent.total)} else {this.srtProgress = 100 // 防止progressEvent.total为0出现无限大}},timeout: 10000, // 设置超时时间,若接口在10s内没响应就抛出异常,在catch中捕获}).then((response) => {// 响应后的逻辑}).catch((error) => {// 异常的逻辑})
},

下载

请求某个接口下载文件。

请求要设置参数,表示是二进制文件:responseType: 'blob'
创建一个url和a标签,点击a标签则下载。

download(type) {let url = 'url'axios.get(url, { responseType: 'blob', timeout: 10000 }).then((res) => {const fileName='' // 设置下载的文件名// 创建一个下载url和a标签const downloadUrl = window.URL.createObjectURL(new Blob([res.data])) // res.data 是要下载的文件const link = document.createElement('a')link.href = downloadUrl// 设置download属性,点击链接就能下载link.setAttribute('download', `${fileName}`)// 将a标签加在文档中,点击下载document.body.appendChild(link)link.click()        }).catch((error) => {// ...})},

进度条

用ElementPlus的组件el-progress,传入一个srtProgress即可。不过效果是一下就闪到100了(可能是接口响应很快??)。

<el-progress:percentage="srtProgress"status="warning":stroke-width="12"
/>

最后改为,不要设置超时。给接口多一点时间,有道理!

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

相关文章:

  • 丹徒网站建设机构广州 网站开发 app
  • 苏州网站建设运营推广网络营销平台有哪些特点
  • 写网站建设需求文档爱网之家下载
  • 网站风险怎么解决方案wordpress 左导航
  • 昆明集团网站建设90设计怎么免费下载
  • 达州科创网站建设公司网站建设报价选兴田德润
  • 上海网站推广排名软件界面设计要求
  • 无锡网络科技有限公司网站优化需要工具
  • 合肥网站制作网站最近网站改版文章突然不收录
  • 虚拟机主机网站建设的几个步骤wordpress博客空间
  • 北海 网站建设 公司中国工程有限公司
  • 壹财富 网站开发怎么查在哪个网站做的备案
  • 房产类网站制作商网上购物网站开发
  • 如何做属于自己的网站东莞市建设企业网站企业
  • 阿里巴巴国际站可以做网站吗视频拍摄教程
  • 中小企业网站开发韵茵网站怎么做下拉刷新页面数据
  • 中国建设劳动学会监制网站seo优化sem推广
  • 公司网站开发费用兴田德润官方网站微信小程序开发工具教程
  • 自己做抽奖网站违法吗宣化网站建设
  • 做宣传海报的网站重庆网站建设优化排名
  • 光之翼可以做网站吗平台网站 备案吗
  • 做电商网站有什语言好东莞企业网站建立报价
  • 华为云建设网站需要域名吗wordpress update ftp
  • 打开百度竞价页面是网站是什么做新闻封面的网站
  • 网站公司优势上海猎头公司排名
  • 政务公开 网站建设移动网站设计
  • 硅谷主角刚开始做的是软件还是网站建设网站套餐
  • wordpress 目录排序广东seo推广贵不贵
  • 怎么做网站的浏览量统计太原网站seo顾问
  • 自己做的网站出现广告郑州做网站元辰