使用docker部署微服务项目之后,用户导入模板导出的excel没有列名

Blade 已结 2 919
qj625889140
qj625889140 剑者 2022-03-21 12:29

一、该问题的重现步骤是什么?

  1. 使用docker部署服务器之后。用户导入模板下载出问题,日志报错如下


  2. 图片_20220321122521.png

2. 现在导出的excel显示为

图片_20220321122855.png

3.


二、你期待的结果是什么?实际看到的又是什么?




三、你正在使用的是什么产品,什么版本?在什么操作系统上?

微服务版本


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  admin
    admin (最佳回答者)
    2022-03-21 16:25

    前端下载逻辑改一下,把url连接访问改成这种试试看,这几天会把它推送到git

    export const downLoadXls = (fileArrayBuffer, filename) => {
      let data = new Blob([fileArrayBuffer], { type: 'application/vnd.ms-excel,charset=utf-8' });
      if (typeof window.chrome !== 'undefined') {
        // Chrome
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(data);
        link.download = filename;
        link.click();
      } else if (typeof window.navigator.msSaveBlob !== 'undefined') {
        // IE
        var blob = new Blob([data], { type: 'application/force-download' });
        window.navigator.msSaveBlob(blob, filename);
      } else {
        // Firefox
        var file = new File([data], filename, { type: 'application/force-download' });
        window.open(URL.createObjectURL(file));
      }
    }


    image.png

    image.png

    image.png

    作者追问:2022-03-21 16:25

    我这边服务器是linux的,docker部署的。前端是vue

    作者追问:2022-03-21 16:25

    按照您提供的方式,下载下来的excel无法打开

    0 讨论(2)
  • 2022-03-23 10:25

    已经搞定了,是因为docker缺失字体造成的。

    在每个子项目下dockerfile中添加

    RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig

    即可

    2 讨论(0)
提交回复