Обработка нескольких типов MIME с одинаковым расширением файла в showSaveFilePicker()Javascript

Форум по Javascript
Ответить
Anonymous
 Обработка нескольких типов MIME с одинаковым расширением файла в showSaveFilePicker()

Сообщение Anonymous »

Я пытаюсь использовать внутренний 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');
Что я получил:

Код: Выделить всё

file.type === ""
Подобное взаимодействие кажется одним из самых простых способов использования этого диалога. Вы разрешаете пользователю выбирать между несколькими типами экспорта по типу MIME. Есть ли способ узнать, какой тип пользователь выбрал в диалоговом окне после разрешения его обещания? Что мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/798 ... filepicker
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»