У меня есть веб-приложение с формой загрузки файлов, которая отлично работает с любой комбинацией браузера и файловой системы, кроме чтения Chrome с подключенного устройства Android или iOS (файловые системы HFS и DCF).Используя сторонний обработчик события jQuery (ajaxupload), он читает имя файла из HTMLInputElement.value для простой проверки расширения файла перед загрузкой.
Я вижу следующие строки:
IE / Android: "C: \ Users \ имя пользователя \ AppData \ Local \ Microsoft \ Windows \ INetCache \ IE \ DAG5BXZ2 \ filename.jpg"
Edge / Android: "filename.jpg"
Firefox / Android: "C: \fakepath \ filename.jpg "
Chrome / USBDrive:" C: \ fakepath \ filename.jpg "
Chrome / Android:" C: \ fakepath \ {C8BCC7E6-C108-D148-F5FF-3BC3EB92E793} "
Как / почему Chrome обрабатывает эти файловые системы иначе, чем другие?Есть ли способ изменить или обойти это?Все, что мне нужно, - это расширение файла.
Обновление. Похоже, что Chrome пытается работать с временным путем / файлом, который он создал, но который недопустим.Объект FileList действителен, и я могу получить доступ к файлу [0] - у него есть .name (строка UUID), .lastmodifieddate (когда пользователь нажал «Открыть» - не фактическая дата файла), .size равен 0, и.type не определено.