#javascript #angular #typescript #blob #angular9
#javascript #angular #typescript #большой двоичный объект #angular9
Вопрос:
У меня есть API, который извлекает такие данные:
JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDE4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMTAxIDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAxMDIgMCBSPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAyL0tpZHNbIDMgMCBSIDE0IDAgUl0gPj4NCmVuZG9iag0KMyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFIvRjIgOSAwIFIvRjMgMTEgMCBSPj4vRXh0R1N0YXRlPDwvR1M3IDcgMCBSL0dTO
Это не полные показанные данные (фактические довольно длинные)
Я хочу, чтобы эти данные просматривались как файл, это может быть что угодно, например изображение, pdf, видео, zip и т. Д.
В чем проблема, если я установлю responseType
для API значение arraybuffer
Мне нужно преобразовать данные ответа в большой двоичный объект, но для этого мне также нужен тип файла, которого у меня нет.
Есть ли какое-либо решение для просмотра данных непосредственно в виде файла?
Ответ №1:
Попробуйте file-saver:
npm install file-saver
и
import { saveAs } from 'file-saver';
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
Комментарии:
1. Я не знаю, каким будет тип файла полученных данных, это может быть что угодно
2. Вы должны получить это в ответ от API в разделе
contentType
.