[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content-read-exif-by-asp":3,"$f2ilnjk8v4sml3":20},{"id":4,"type":5,"slug":6,"title":7,"date":8,"category":9,"tags":10,"body_markdown":13,"permalink":14,"excerpt_src":14,"media_type":14,"media_title":14,"media_author":14,"media_url":14,"rating":14,"layout":14,"pv":15,"admin_only":15,"created_at":16,"updated_at":16,"deleted_at":14,"status":17,"html":18,"cover":19},155,"article","read-exif-by-asp","ASPJpeg读取exif信息","2010-02-07 20:29:53","web",[11,12],"asp","exif","\n最近在想怎么优化上传体验，QQ超大附件上传上有一个细节设计让我觉得特别向往，就是上传的时候与服务器文件进行对比，如果已经存在就不用重复上传，直接标记就完了。\n\n可以很遗憾的是这个功能不太容易实现，先说服务端，要进行诸如MD5之类的计算并不容易，在网上也没有看到用ASP得到文件MD5的例子（不通过调用其他组件）。\n\n而客户端，不装控件，通过脚本读取文件更是不可能的事情。想着FLASH也许可以，但是还是没找到实例。\n\n于是退而求其次，想想能不能在服务器识别重复文件。因为在校内混了这么久，发现有很多照片会被重复上传。于是想到提取图片的EXIF信息。\n\n以下部分是ASPJPEG提取EXIF信息的方法，记录一下：\n\n```asp\nPath = Server.MapPath(\"photo.jpg\")\nSet Jpeg = Server.Cr&#101;ateObject(\"Persits.Jpeg\")\nSet Info = Jpeg.OpenInfo( Path )\n\nFor Each Item in Info\n\n\tResponse.Write Item.Name\n\tResponse.Write Item.Description\n\tResponse.Write Item.Value\n\nNext\n```\n加上表格后效果如下：\n\n![读出的EXIF信息](\u002Fassets\u002Fweb\u002F2010\u002Fread-exif-by-asp\u002Fread-exif-by-asp-1.jpg)\n\n另外获取单项属性的方法：\n\n```asp\nInfo(\"Make\")\n```\n\n这样如果EXIF信息完全一样的就可以认为是同一照片了。\n",null,0,"2026-08-28 04:37:17","published","\u003Cp>最近在想怎么优化上传体验，QQ超大附件上传上有一个细节设计让我觉得特别向往，就是上传的时候与服务器文件进行对比，如果已经存在就不用重复上传，直接标记就完了。\u003C\u002Fp>\n\u003Cp>可以很遗憾的是这个功能不太容易实现，先说服务端，要进行诸如MD5之类的计算并不容易，在网上也没有看到用ASP得到文件MD5的例子（不通过调用其他组件）。\u003C\u002Fp>\n\u003Cp>而客户端，不装控件，通过脚本读取文件更是不可能的事情。想着FLASH也许可以，但是还是没找到实例。\u003C\u002Fp>\n\u003Cp>于是退而求其次，想想能不能在服务器识别重复文件。因为在校内混了这么久，发现有很多照片会被重复上传。于是想到提取图片的EXIF信息。\u003C\u002Fp>\n\u003Cp>以下部分是ASPJPEG提取EXIF信息的方法，记录一下：\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Path = Server.MapPath(&quot;photo.jpg&quot;)\nSet Jpeg = Server.Cr&amp;#101;ateObject(&quot;Persits.Jpeg&quot;)\nSet Info = Jpeg.OpenInfo( Path )\n\nFor Each Item in Info\n\n\tResponse.Write Item.Name\n\tResponse.Write Item.Description\n\tResponse.Write Item.Value\n\nNext\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>加上表格后效果如下：\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fassets.toobug.net\u002Fassets\u002Fweb\u002F2010\u002Fread-exif-by-asp\u002Fread-exif-by-asp-1.jpg\" alt=\"读出的EXIF信息\">\u003C\u002Fp>\n\u003Cp>另外获取单项属性的方法：\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Info(&quot;Make&quot;)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>这样如果EXIF信息完全一样的就可以认为是同一照片了。\u003C\u002Fp>\n","https:\u002F\u002Fassets.toobug.net\u002Fassets\u002Fweb\u002F2010\u002Fread-exif-by-asp\u002Fread-exif-by-asp-1.jpg",{"total":15,"totalRoots":15,"comments":21,"pv":15},[]]