2023年07月26日,天气,多云转阴

今天在做导出文件的时候,因包含有txt格式的文件,在导出的时候,浏览器会自动解析txt文件,而不是下载。于是快刀斩乱麻搜索资料,并结合总结,运用项目中,大功告成一半!因为导出时成功了,但txt文件下载下来后,内容包含中文,会乱码,于是又一顿输出,最终完成!总体思路就是,后端返回的txt文件路径,前端再请求一遍,请求的过程中设置返回的文本格式为:blob。然后再通过blob进行下载txt文件,下载的过程中设置编码格式。代码如下:

     //this.FileUrl:http:192.168.1.1:80//export/log.txt
      this.$axios.get(this.FileUrl, {
        responseType: 'blob' // 得到文件流
      }).then((response) => {
        // console.log(response)
        // 创建一个Blob对象,包含文本内容
        const blob = new Blob([response.data], { type: 'application/;charset=utf-8' })
        // 创建一个临时的a标签用于下载
        const a = document.createElement('a')
        a.href = URL.createObjectURL(blob)
        a.download = fileName
        // // 将a标签添加到文档中,触发点击事件,然后移除a标签
        document.body.appendChild(a)
        a.click()
        document.body.removeChild(a)
      })

这样,txt文件就可以直接下载保存了,而且不会乱码!

 

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐