This semester I enrolled myself in Advanced Database class. This class surprised me because we learnt mostly about data structure and how the indexing and query process works instead of aplicating other SQL syntaxes and improving the speed of our query like the other class.
Mr. Daniel Siahaan was the proffesor for this class and he immidietly gave us group tasks to create a Metadata Generator application which will give an output in RDF format. So I decided to have an ASP.NET application which takes a JPEG image as an input. The application will then extract the EXIF metadata within the image file.
At first, what the application do is just reading those EXIF metadata and then generated to RDF format. It turned out that what my application do is not enough, my application have to generate an original metadata from the given input.
Then I finally able to add an original tag which detects the input modified date changes. If the value is true then the image has never been updated, if false the image had been updated, if null the input is in the wrong format or bad data.
Here are some screenshots of the application.
You could download the source code, here. Unzip it and then run it o a Visual Studio.
Unfortunately this application only works with IE. I’ve tried other brwoser to run it and the result was disatisfiying. It seems it has some problem with the FileUpload1.PostedFile.FileName method which succesfully extracted the physical path of the file with IE but only the file name in Firefox or Opera.
If the physical path is succesfully extracted then the system could compare the modified date attribute of the image in the filesystem with the created datei attribute in the EXIF data, and generate an output of either true or false. But in the case of Opera and Firefox I inly get the name of the file, thus the system can’t determine the exact time in the filesystem and generating a null value in the metadata.
I think there’s somekind of bug in the ASP.NET FileUpload control, and ironically only works with other Microsoft product, IE.
Be free to use it as your reference, and sorry for the messy coding.. :p