您可以使用Sanselan Java 库来删除 EXIF 和 IPTC 元数据。以下是使用此库中的removeExifMetadata的代码示例:
<cfscript>
// setup and init the Sanselan library
SanselanPath = arrayNew(1);
arrayAppend(SanselanPath, expandPath("sanselan\sanselan-0.97-incubator.jar"));
javaloader = createObject("component", "javaloader.JavaLoader").init(SanselanPath);
// setup your source and destination image
pathToInFile = ExpandPath("myImage.jpg");
pathToOutFile = ExpandPath("MyImagewoEXIF.jpg");
inFile = javaloader.create("java.io.FileInputStream").init(pathToInFile);
outFile = javaloader.create("java.io.FileOutputStream").init(pathToOutFile);
// create the exifRewriter
exifRewriter = javaloader.create("org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter").init();
// call the method removeExifMetadata
exifRewriter.removeExifMetadata(inFile,outFile);
outFile.close();
</cfscript>
您可以使用iptc.JpegIptcRewriter和removeIPTC方法执行相同的操作来删除 IPTC 元数据。您可以使用 CF 函数 ImageGetEXIFMetaData 和 ImageGetIPTCMetadata 验证所有内容都已删除。
现在我不确定它是否真的会减小文件大小,请告诉我:-)