2010-03-11 4 views
0

Basically this question except i am using ASP.NET. Как я взять данный файл и проверить, если онКак проверить формат файла?

  • изображение (все форматы, кроме растрового изображения, включая Photoshop)
  • архив (7z, RAR, ZIP и т.д.). ПРИМЕЧАНИЕ. Я знаю, что файл может быть как изображением, так и zip. Я могу проверить, оба ли они в коде.
  • звука (большинство таких, как M4A, FLAC, Ogg, но не .wav)
  • модели (3ds, X, B3D и т.д.)

Решение не нужно, чтобы проверить все из них, но если г может получить несколько, чтобы проверить все это тогда здорово.

+0

Это может быть полезно: http://stackoverflow.com/questions/58510/ –

+0

Подстрока по заданному имени файла, чтобы получить тип файла? – glasnt

ответ

1

Учитывая разнообразие типов файлов, проверка расширения может быть лучшим вариантом. У кого-то есть другие мысли?

+0

Это хороший первый шаг, но вы действительно должны сделать более тщательный экзамен, особенно если файлы будут загружены кем-либо в Интернете ... –

+0

да, я полностью согласен. Загруженный файл может быть вирусом или сухим загружением. Я сделал то, что я всегда переименовывал файл с моими желаемыми расширениями, чтобы предотвратить автоматический запуск. Но это ничто не мешает обнаружить тип файла. –

2

Вы можете попробовать либо:

  • найти документацию для формата файла и проверки известных байтов в заголовке файла, и т.д.
  • Попытка загрузить файл, используя API - если файл загружает успешно то вы знаете, что это правильный тип.

Например, вот пример того, как проверить файл изображения: validate-image-from-file-in-c#

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

Смежные вопросы