Я пытаюсь использовать внутренний API доступа к файловой системе Chrome, чтобы позволить пользователю сохранять файл в нескольких типах. Это файл STL, я хочу, чтобы пользователь мог сохранить файл STL в двоичном формате или в формате ASCII. Эти форматы имеют разные типы MIME (model/x.stl-binary и model/x.stl-ascii), но имеют одно и то же расширение файла STL. Как узнать, какой тип пользователь выбрал в диалоговом окне?
У меня диалоговое окно настроено следующим образом:
Код: Выделить всё
const options = {
suggestedName: defaultFilename,
types: [
{
description: 'Binary STL',
accept: { 'model/x.stl-binary': ['.stl'] },
},
{
description: 'ASCII STL',
accept: { 'model/x.stl-ascii': ['.stl'] },
},
],
};
const fileHandle = await (window as any).showSaveFilePicker(options);
Я пробовал:
Код: Выделить всё
const file = await fileHandle.getFile();
console.log('file.name:', file.name);
console.log('file.type:', file.type);
Чего я ожидал:
Код: Выделить всё
const isBinary = (file.type === 'model/x.stl-binary');
Что я получил:
Подобное взаимодействие кажется одним из самых простых способов использования этого диалога. Вы разрешаете пользователю выбирать между несколькими типами экспорта по типу MIME. Есть ли способ узнать, какой тип пользователь выбрал в диалоговом окне после разрешения его обещания? Что мне не хватает?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... filepicker