<p>I have a table with a binary column which stores files of a number of different possible filetypes (PDF, BMP, JPEG, WAV, MP3, DOC, MPEG, AVI etc.), but no columns that store either the name or the type of the original file.  Is there any easy way for me to process these rows and determine the type of each file stored in the binary column?  Preferably it would be a utility that only reads the file headers, so that I don't have to fully extract each file to determine its type.</p>

<p><strong>Clarification</strong>:  I know that the approach here involves reading just the beginning of each file.  I'm looking for a good resource (aka links) that can do this for me without too much fuss.  Thanks.</p>

<p>Also, <strong>just C#/.NET on Windows, please</strong>.  I'm not using Linux and can't use Cygwin (doesn't work on Windows CE, among other reasons).</p>

This is not a complete answer, but a place to start would be a "magic numbers" library. This examines the first few bytes of a file to determine a "magic number", which is compared against a known list of them.  This is (at least part) of how the
```
file
```
command on Linux systems works.