Я уже проверил все ответы и следовал тому же. Никто из них не работал для меня. Я не могу найти проблему. Вот почему повторная публикация этого вопроса.
Код на стороне сервера:
downloadObj.documentContent = Base64.getEncoder().encode(IOUtils.toByteArray(result.InputStream))
downloadObj.mimeType = result.ResponseMimeType
Код на стороне клиента:
const binaryString = window.atob(response.documentContent);
const binaryLen = binaryString.length;
const bytes = new Uint8Array(binaryLen);
for (let i = 0; i < binaryLen; i += 1) {
const ascii = binaryString.charCodeAt(i);
bytes[i] = ascii;
}
const blob = new Blob([bytes], { type: response.mimeType });
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'myFileName.pdf';
link.click();
Файл загружается. Но когда я пытаюсь открыть PDF, получаю «Не удалось загрузить данные». Кроме того, попытался отредактировать файл PDF, чтобы проверить формат данных. Тексты присутствуют, как показано ниже,
1014 *
Пример текста PDF (Edited в Notepad ++ - Проводы ниже текст в файле) 1018 *
JVBERi0xLjcNCiX5 + prnDQo4IDAgb2JqDQo8PAovRSAzMTE1NDAKL0ggWzEzNjMgMTcxXQovTCAzMTIyMzAKL0xpbmVhcml6ZWQgMQovTiAxCi9PIDExCi9 Похоже, это не в правильном формате. Я не уверен, что мне здесь не хватает. Любая помощь / предложения будут оценены.