GeeCON Prague 2014*
The moose likes Blatant Advertising and the fly likes SimpleMagic Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Other » Blatant Advertising
Bookmark "SimpleMagic" Watch "SimpleMagic" New topic
Author

SimpleMagic

Gray Watson
Greenhorn

Joined: May 21, 2013
Posts: 2
For posterity I've recently finished v1 of my SimpleMagic java package which reads the Unix magic(5) config files to support content-type detection.

More details, javadocs, documentation, source, etc. can be found at http://256.com/sources/simplemagic/
marten kay
Ranch Hand

Joined: Feb 03, 2007
Posts: 178

Congratulation Gray,

Great work!

How do envisage using this in conjunction with uploading a file. One stream is needed to download the stream to a file, and it seems another stream is required to use ContentInfoUtil to match the content info?

I played around using the code below


and found that using that same inputStream to write to file actually corrupted that file. So somehow the streams need to be copied.

As I am not fully across inputStreams, any suggestesion?

Thanks

Marten

when in doubt put it in parenthesis and stick a dollar sign in front of it, only good can come from this.
marten kay
Ranch Hand

Joined: Feb 03, 2007
Posts: 178

Also, while I am at it, is there an easy way to match the found content type with the file extension?

Cheers

Marten
Gray Watson
Greenhorn

Joined: May 21, 2013
Posts: 2
Hey Marten:

How do envisage using this in conjunction with uploading a file. One stream is needed to download the stream to a file, and it seems another stream is required to use ContentInfoUtil to match the content info?


Right. Without using the wrapper, SimpleMagic will read in from the stream. I've just added to the repo a ContentInfoInputStreamWrapper class which you can read through that gives you the content information about the first bytes that were read.

is there an easy way to match the found content type with the file extension?


I've also just added a mapping from extension to the internal types. This is very limited right now. Take a look at ContentType code. I'd be happy to add a boatload of more entries.

Let me know if you've like me to push out 1.1 or if you can work from git directly.
gray
marten kay
Ranch Hand

Joined: Feb 03, 2007
Posts: 178

Thanks Gray

This works a treat, and will be of value for all Java developers that deal with unknown file types.

Will play around more when I am in production!

Cheers

Marten

 
GeeCON Prague 2014
 
subject: SimpleMagic