Как отклонить нажатия на ветку GitHub через приложение GitHub?

Поскольку вы говорите, что вы загружаете эти данные, вы уже должны знать тип MIME. Вы создали объект данных, вы знаете, откуда пришли данные, и существует ограниченное количество типов MIME. Поэтому используйте то, что применимо к вашим данным. Для изображения это, вероятно, image/jpeg или image/png. Для видео есть куча типов video/. Вы можете найти длинный список строк типа MIME на вашем Mac в /etc/apache2/mime.types. Вы захотите, чтобы один или несколько из них зависели от того, какое видео вы имеете.

Определение типа MIME является липкой проблемой; NSData может кодировать любые двоичные данные. Единственный способ определить, что было закодировано, - это изучить байты. Это, в свою очередь, означает некоторое понимание того, какие потоки байтов существуют в разных типах файлов. Должно быть возможно использовать словарь поиска во многих (но не во всех) случаях, и может существовать реализация с открытым исходным кодом где-то для общих типов файлов. Чтобы узнать, что с этим связано, попробуйте man file на вашем Mac и посмотрите в /usr/share/file/magic/, чтобы узнать, как идентифицируются различные типы файлов (команда file не создает типы MIME, но она анализирует содержимое файла, чтобы попытаться определить типы файлов, так что это тот же принцип).

0
задан ermSO 20 February 2019 в 21:23
поделиться