导出--处理后端传的文件流乱码问题

1.封装导出方法

export function downloadByData(data: BlobPart, filename: string, mime?: string, bom?: BlobPart) {
  const blobData = typeof bom !== 'undefined' ? [bom, data] : [data];
  const blob = new Blob(blobData, { type: mime || 'application/octet-stream' });

  const blobURL = window.URL.createObjectURL(blob);
  const tempLink = document.createElement('a');
  tempLink.style.display = 'none';
  tempLink.href = blobURL;
  tempLink.setAttribute('download', filename);
  if (typeof tempLink.download === 'undefined') {
    tempLink.setAttribute('target', '_blank');
  }
  document.body.appendChild(tempLink);
  tempLink.click();
  document.body.removeChild(tempLink);
  window.URL.revokeObjectURL(blobURL);
}

2.在请求接口添加参数

export function exportOutRecordByCon(data: any) {
 return request({
   responseType: 'blob',//接口返回文件流时添加该属性便不会乱码
   headers: { 'Content-Type': 'multipart/form-data' },
   url: '...',
   method: 'GET',
   params: data,
 });
}```
posted @   粉色的海绵宝宝  阅读(181)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
欢迎阅读『导出--处理后端传的文件流乱码问题』
点击右上角即可分享
微信分享提示