Я создаю приложение React.один из компонентов извлекает данные для небольших файлов из конечной точки GraphQL в виде (как я понимаю,) двоичных строк, сокращенный пример которых приведен ниже:
%PDF-1.3
%âãÏÓ
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
...
MORE CONTENT HERE
...
<<
/Size 11
/Root 1 0 R
/Info 10 0 R
>>
startxref
2714
%%EOF
В приведенном выше примере это совершенно ясно иззаголовок, что файл, который кодирует двоичная строка, является PDF.Однако этот компонент не всегда будет извлекать файл PDF - это могут быть другие типы двоичных строк.
Я хочу, чтобы эта строка была преобразована в файл и загружалась для пользователя.
Я дошел до этого, используя file-saver
хочу сделать что-то вроде следующего:
const fileDownload = new Blob([data.getCompanyDocument.documentData]);
saveAs(fileDownload);
Это не работает должным образом.new Blob
, кажется, требует MIME-тип, как показано ниже:
const fileDownload = new Blob([data.getCompanyDocument.documentData], {
type: "application/pdf"
});
saveAs(fileDownload);
Это работает.
Возможно ли для Blob автоматически извлекать MIME-тип из заголовка строки?
Если я не в курсе - каков обычный метод получения двоичной строки, как указано выше, и создания файла для загрузки пользователем из нее через Javascript на стороне клиента?