Подтвердить что ты не робот

Safari <input type="file" accept = "video/*" > игнорирует файлы mp4

Я использую входной файл HTML следующим образом:

<input type="file" accept="video/*"> 

чтобы мои пользователи могли загружать видео на мой сайт. Это работает как ожидается во всех современных браузерах (только разрешая пользователю выбирать видеофайлы), кроме Safari.

Из того, что я могу сказать, Safari, похоже, интерпретирует атрибут accept="video/*" как accept="*.mov", игнорируя большинство, если не всех, других видеоформатов/расширений (webm, m4v и т.д.).

Любые предложения о том, как получить диалог выбора, чтобы разрешить только обычные типы файлов видео (а не только .mov's) в Safari?

4b9b3361

Ответ 1

Я обнаружил, что следующая строка accept добавит mp4 и m4v в список типов файлов, которые будут принимать сафари:

accept="video/mp4,video/x-m4v,video/*"

Я не уверен, что тип mime для видео для веб-сайтов, но если вы можете посмотреть это, вы должны уловить его в строку accept. Трюк заключается в том, чтобы указать тип mime, просто использование расширения файла не будет работать.

Ответ 2

Вы можете взглянуть на исходный код webkit ~/Source/WebCore/platform/MIMETypeRegistry.cpp.

Эти типы настраиваются Apple для Safari и могут не работать в других браузерах.