John Joyce wrote: > > On Jul 18, 2007, at 9:33 AM, Wayne E. Seguin wrote: > >> On Jul 18, 2007, at 10:25 , John Joyce wrote: >>> I know how to validate a file based only on the file name dot >>> extension, but this seems wholly insecure to me. >>> I feel that just testing for .jpg, .png, .jpeg, .gif, etc... is not >>> enough. >>> Clearly renaming a file to anything at all is easy to do. >>> How can I read into the file and check to see if it is is actually a >>> file of a given image type? Is there file header info to look for ? >>> Such as a particular byte sequence at a particular location in the file? >>> >>> >>> John Joyce >> >> Use the unix file command `file #{file_name}` >> >> example: >> >> > file the.gif >> the.gif: GIF image data, version 89a, 91 x 91 >> >> -- >> Wayne E. Seguin >> Sr. Systems Architect & Systems Admin >> wayneseguin / gmail.com >> >> >> > The file command and bindings to it are OK, but results are not > consistent across common image file types. What's worse is that the > code would be unportable. Ideally, the solution would rely simply on the > file format internally and thus be portable. > If you know it's an image file, then ImageMagick's identify command will probably do what you need, especially with the --verbose switch. I think you get the same info from Magick::Image#inspect, if RMagick's an option for you. -- Alex