如何从JPEG图像中删除所有EXIF数据?
我找到了很多关于如何使用各种库来读取和编辑EXIF数据的示例,但我需要的只是一个关于如何删除它的简单示例.
它只是用于测试建议,所以即使是最丑陋和最黑客的方法也会有所帮助:)
我已经尝试搜索EXIF开始/结束标记0xFFE1和0xFFE2.在我的情况下,最后一个不存在.
我有一个在Windows Server 2008上运行的应用程序,即处理上传的图像.目前,它每天成功处理大约8000张图像,每张图像创建11种不同的尺寸.
我遇到的问题是,有时应用程序无法加载某些图像,我收到错误"System.Runtime.InteropServices.ExternalException:GDI +中发生了一般错误.".
上传只接受带有JPEG扩展名(jpg/jpeg/jpe)或JPEG MIME类型的文件,从我可以看出这些图像实际上是JPEG图像.如果我看的图像文件在Windows资源管理服务器上,它可以成功地提取该文件的缩略图,但如果我尝试打开它,我得到的错误信息"这不是一个有效的位图文件,或者它的格式是目前不支持." 来自Paint.
如果我将图像复制到我自己的计算机上,运行Windows 7,打开图像没有问题.它适用于Paint,Windows Photo Viewer,Adobe Bridge和Photoshop.如果我尝试使用Image.FromStream加载图像的方式与在服务器上运行的应用程序相同,则加载就好了.(我已将文件复制回服务器,但它仍然无效,因此复制过程中没有任何内容可以更改它.)
当我查看Bridge中的图像信息时,我看到图像是使用Picasa 3.0创建的,但除此之外我看不到任何关于它们的特殊信息.我还没有发现任何人遇到同样的问题,或者使用Picasa应用程序遇到任何已知问题.
有没有人有任何类似的问题,或者知道使用Picasa创建的图像是否有特别之处?是否有任何图像编解码器需要在服务器上安装以处理各种JPEG图像?
以下是未在服务器上加载的图像示例:gdi-example.jpg(192 kB).