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

学校网站建设方案策划书wordpress获取侧边栏

学校网站建设方案策划书,wordpress获取侧边栏,做网站站长开通vip,惠州响应式网站建设公司文章目录 上传下载进度条 场景:要上传一个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/581843/

相关文章:

  • 美色商城 网站建设网站开发人员趋势
  • 网站排版瑞安市规划建设局网站
  • 新开传奇网站发布站三端互通手机手机网站开发
  • 商场建设相关网站wordpress 文字排版
  • 定州网站建设托管代运营
  • 郑州市科协网站编程培训心得
  • 佛山网站建设 合优南京网站建设学习
  • 如何查看网站点击量如何进行网站的seo
  • 陕西新站seo建设官方网站企业网银登录
  • 建设银行网站修改手机号码wordpress主题盗取
  • 做一个网站 多少钱正规的软件开发公司
  • 站长如何做视频类网站网站制作顺序
  • 早教网站源码千万别做网络管理员
  • 静宁门户网站重庆市建设工程安全管理网站
  • 美发网站 源代码wordpress qqworld
  • 企业网站开发 文献综述天元建设集团有限公司设计院
  • 以投资思维做网站唯一做魅惑的网站
  • 建设vip网站相关视频下载环保企业网站模板
  • 网站如何做线上推广禁止浏览器访问一个网站怎么做
  • 专业企业网站制作刷赞网站推广空间免费
  • 外贸型企业网站建设wordpress优酷视频插件
  • 门户网站的好处有哪些网站可以做全屏代码
  • 专业高端网站设计首选培训学校如何做网站宣传
  • 开o2o网站需要什么手续网站数据
  • 全球最大的购物网站百度经验怎么赚钱
  • 汕尾英文网站建设白山镇seo快速排名
  • 网站单个页面做301免费com域名注册永久
  • 开发网站企业网站网页设计海报图片
  • 做空包网站wpf可以做网站吗
  • 网站建设公司专业的建站优化公司成都线上推广平台