Skip to content

ASPJpeg读取exif信息

2010年2月7日

最近在想怎么优化上传体验,QQ超大附件上传上有一个细节设计让我觉得特别向往,就是上传的时候与服务器文件进行对比,如果已经存在就不用重复上传,直接标记就完了。

可以很遗憾的是这个功能不太容易实现,先说服务端,要进行诸如MD5之类的计算并不容易,在网上也没有看到用ASP得到文件MD5的例子(不通过调用其他组件)。

而客户端,不装控件,通过脚本读取文件更是不可能的事情。想着FLASH也许可以,但是还是没找到实例。

于是退而求其次,想想能不能在服务器识别重复文件。因为在校内混了这么久,发现有很多照片会被重复上传。于是想到提取图片的EXIF信息。

以下部分是ASPJPEG提取EXIF信息的方法,记录一下:

asp
Path = Server.MapPath("photo.jpg")
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Set Info = Jpeg.OpenInfo( Path )

For Each Item in Info

	Response.Write Item.Name
	Response.Write Item.Description
	Response.Write Item.Value

Next
Path = Server.MapPath("photo.jpg")
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Set Info = Jpeg.OpenInfo( Path )

For Each Item in Info

	Response.Write Item.Name
	Response.Write Item.Description
	Response.Write Item.Value

Next

加上表格后效果如下:

读出的EXIF信息

另外获取单项属性的方法:

asp
Info("Make")
Info("Make")

这样如果EXIF信息完全一样的就可以认为是同一照片了。