vue下载后端提供的文件/播放音频文件

下载文件

doc

接口js文件里加一行这个responseType: 'arraybuffer',

js文件

javascript 复制代码
export function (data) {
  return request({
    url: "XXX",
    method: "post",
    data: data,
    baseURL: " ",
    responseType: 'arraybuffer',
  });
}

vue文件

javascript 复制代码
const time={
    "datetime_start": start1.value,
    "datetime_end": end1.value,
  }
  ( time ).then((response) => {
    const data = response.data;
    let blob = new Blob([response], {type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8'});
    let objectUrl = window.URL.createObjectURL(blob) // 创建URL
    const a=document.createElement('a');
    a.style.display='none';
    a.href=objectUrl;
    a.download='报告.docx';
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    objectUrl.revokeObjectURL(objectUrl); // 释放内存

});

播放音频

js文件

javascript 复制代码
export function XXX(data) {
  return request({
    url: "XXX",
    method: "post",
    data: data,
    baseURL: " ",
    responseType: 'blob',
  });
}

vue文件

javascript 复制代码
 const time = {
    audio_type: "2",
  };
  XXX(time).then((res) => {
   const blob = new Blob([res], { type: 'audio/wav' });
   const localUrl = (window.URL || webkitURL).createObjectURL(blob);
   const audio = document.createElement('audio');
   audio.style.display = 'none'; // 防止影响页面布局
   audio.controls = true;
   document.body.appendChild(audio);
   audio.src = localUrl;
   audio.playbackRate = 1.3; // 语速
   audio.play();
   
    // 语音播放完毕后,需要手动释放内存
    audio.onended = function () {
      document.body.removeChild(audio);
      URL.revokeObjectURL(localUrl);
    };

})
相关推荐
01_ice15 分钟前
前端学习css
前端·css·学习
愚公搬代码33 分钟前
【愚公系列】《Web应用安全》010-Repeater模块的使用
前端·安全
Cache技术分享1 小时前
503. Java 反射 - 编写 ServiceFactory 类
前端·后端
赵大仁1 小时前
AI 限流 UX 设计:排队、降级、告知与用户预期管理
前端·ai·限流·用户体验·产品设计
__sjfzllv___1 小时前
在职前端Leader学习/转行 AI Agent -DAY37
前端
用户2181697049301 小时前
Flutter (二十二) GlobalKey
前端
用户2181697049301 小时前
Flutter (二十一) 下拉刷新,加载更多
前端
breeze jiang2 小时前
Next.js 16 App Router 实战:从 About、Blog 动态路由到全局 404
开发语言·javascript·ecmascript
小蒜学长2 小时前
vue旅游攻略网站(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端·旅游
IT_陈寒3 小时前
Python装饰器把我坑惨了,原来这样用才不掉链子
前端·人工智能·后端