Jhipster dataUtils.downloadFile выдает ошибки для контента с не ASCII-символами - PullRequest
0 голосов
/ 29 июня 2019

Я пытался использовать встроенную функцию dataUtils.downloadFile из JHipster на угловой стороне.Он принимает строку содержимого и тип содержимого и позволяет пользователю загружать содержимое в виде файла.

Я заметил, что он может легко обрабатывать содержимое, содержащее символ ASCII.Однако он не может обработать набор символов UTF-8.

Это ошибка, которую я получаю:

Не удалось выполнить 'atob' в 'Window'

Я пропалчто-то или есть способ обойти это?

В настоящее время я должен просмотреть свой файл, чтобы заменить все 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...