首页 > 解决方案 > 对于非 ASCII 字符的内容,Jhipster dataUtils.downloadFile 出错

问题描述

我一直在尝试从角度使用内置dataUtils.downloadFile功能。JHipster这接受内容字符串和内容类型,并让用户将内容下载为文件。

我注意到,它可以轻松处理包含ASCII字符的内容。但是,它无法处理UTF-8字符集。

这是我得到的错误:

无法在“窗口”上执行“atob”

我错过了什么还是有办法解决它?

目前我必须通过我的文件来替换所有UTF-8唯一的字符,ASCII但这会很乏味。

谢谢阅读..

编辑:下面是字段定义。

    {
        "fieldName": "troubleshooting",
        "fieldType": "byte[]",
        "fieldTypeBlobContent": "text"
    }

这是尝试将字符串转换为base64然后下载的角度代码。问题不在于 base 64 编码。没事。问题在于内容格式。如果内容仅包含 UTF-8 字符,则失败。在其他情况下,我成功下载了文件

download(appliance: Appliance) {
    const applianceObj = JSON.parse(appliance.troubleShooting);
    const prettyPrinted = JSON.stringify(applianceObj, null, 2);
    const data = this.base64Utils.encode(prettyPrinted);
    this.dataUtils.downloadFile('application/json', data, appliance.applianceType);
}

标签: filedownloadjhipster

解决方案


推荐阅读