前端通过url实现文件下载功能

最近在实现文件下载功能出现了问题,由于后端没有返回文件流,返回格式为下图

 最初以为可以直接通过a标签的href属性下载

<a :href="row.record.annexUrl" target="_blank">下载</a>

 结果因为不是文件流的原因,总是出现下图的情况

尝试过很多种方法,包括blob文件流,window.open,window.location.href等方法,都是会出现上图的问题,最终通过encodeURI转码实现下载

<a @click="upload(row)">下载</a>





const upload = (file: any) => {
  /**
   * @method 下载文件
   */
  window.open(encodeURI(file.record.annexUrl), 'foo', 'noopener=yes,noreferrer=yes')
}


版权声明:本文为weixin_44368048原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。