Выберите файлы в сети Android с типом ввода = файл: файлы Excel, которые невозможно выбрать, неверно доступны и возвращают тип PDF MIME - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу ограничить загрузку файлов в моем мобильном веб-приложении типами изображений и файлов PDF. Однако когда я открываю средство выбора файлов в Chrome на Android, я могу выбрать файлы Excel, которые не должны быть доступны для выбора на основе того, что я указал в атрибуте accept элемента ввода . Проблема, кажется, специфична для Android - файлы Excel серого цвета в iOS и скрыты на рабочем столе.

Кроме того, если я перейду к Google Диску с помощью средства выбора файлов и выберу файл Excel, возвращенный тип mime-файла будет application/pdf. Здесь я бы ожидал application/vnd.openxmlformats-officedocument.spreadsheetml.sheet или application/vnd.google-apps.spreadsheet как тип пантомимы. Это происходит только для файлов Excel с Google Диска, т. Е. Выбор файла Excel из Загрузок возвращает ожидаемый тип MIME.

Поэтому у меня два вопроса:
1. Ожидается, что поведение Android не будет соответствовать типам файлов, указанным в атрибуте accept?
2. Почему файлы Excel, выбранные на Google Диске, возвращаются в формате PDF MIME?

Элемент ввода, который принимает изображения и файлы PDF:

<input onchange="showImage('Files')" type="file" name="Files" accept="image/*,.pdf" value="Upload a file"">

Функция, которая срабатывает после выбора файла excel :

function showImage(type){
  var file = document.querySelector(`input[name=${type}]`).files[0];
  console.log(file);
}

И журнал выбранного файла:

File(47847) {name: "Gratefulness.pdf", lastModified: 1536163728724, lastModifiedDate: Wed Sep 05 2018 11:08:49 GMT-0500 (hora de verano central), webkitRelativePath: "", size: 47847, …} lastModified: 1536163745655 lastModifiedDate: Wed Sep 05 2018 11:09:06 GMT-0500 (hora de verano central) {} name: "Gratefulness.pdf" size: 47847 type: "application/pdf" webkitRelativePath: "" __proto__: File

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...