Safari <input type="file" accept = "video/*" > игнорирует файлы mp4
Я использую входной файл HTML следующим образом:
<input type="file" accept="video/*">
чтобы мои пользователи могли загружать видео на мой сайт. Это работает как ожидается во всех современных браузерах (только разрешая пользователю выбирать видеофайлы), кроме Safari.
Из того, что я могу сказать, Safari, похоже, интерпретирует атрибут accept="video/*"
как accept="*.mov"
, игнорируя большинство, если не всех, других видеоформатов/расширений (webm, m4v и т.д.).
Любые предложения о том, как получить диалог выбора, чтобы разрешить только обычные типы файлов видео (а не только .mov's) в Safari?
Ответы
Ответ 1
Я обнаружил, что следующая строка accept добавит mp4 и m4v в список типов файлов, которые будут принимать сафари:
accept="video/mp4,video/x-m4v,video/*"
Я не уверен, что тип mime для видео для веб-сайтов, но если вы можете посмотреть это, вы должны уловить его в строку accept. Трюк заключается в том, чтобы указать тип mime, просто использование расширения файла не будет работать.
Ответ 2
Вы можете взглянуть на исходный код webkit ~/Source/WebCore/platform/MIMETypeRegistry.cpp.
Эти типы настраиваются Apple для Safari и могут не работать в других браузерах.