亲爱的ColdFusion坏人,
我想知道当我通过CF上传图片时是否有办法添加元数据信息!
e.g。你可以通过PhotoShop http://www.artsnova.com/x/Chicago-Artists-Coalition-email-metadata.jpg“Photoshop MetaData”
来完成我想我可以将图片转换为Base64,在那里注入我的信息,然后写回文件:
<cfimage action="write" source="#ImageReadBase64(form.myBase64Image)#" destination="#filePath##fileName#">
我注意到JPG文件中有以下标签:
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:aux="http://ns.adobe.com/exif/1.0/aux/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/" xmp:Rating="0" xmp:CreatorTool="Adobe Photoshop CS6 (Windows)" xmp:ModifyDate="2014-06-20T11:59:38+02:00" xmp:CreateDate="2014-06-03T07:52:21" xmp:MetadataDate="2014-06-20T11:59:38+02:00" aux:SerialNumber="193020002656" aux:LensInfo="28/1 300/1 0/0 0/0" aux:Lens="28-300mm" aux:LensID="6" aux:LensSerialNumber="0000000000" aux:ImageNumber="0" aux:FlashCompensation="0/1" aux:Firmware="1.2.3" photoshop:DateCreated="2014-06-03T07:52:21.001" photoshop:LegacyIPTCDigest="3AB878C7DE3E2C7D46FA1D558A375445" photoshop:ColorMode="3" photoshop:ICCProfile="sRGB v1.31 (Canon)" xmpMM:DocumentID="F5AE03309FA9337F43EA71C52F6B6C0D" xmpMM:InstanceID="xmp.iid:4E811E5E61F8E31183E6DB5EA6C6987D" xmpMM:OriginalDocumentID="F5AE03309FA9337F43EA71C52F6B6C0D" dc:format="image/jpeg" xmpRights:WebStatement="http://www.mywebsite.com">
<xmpMM:History>
<rdf:Seq>
<rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:274f1a37-ad8a-40d8-b5d2-03cea0cf8c52" stEvt:when="2014-06-04T16:44:12+01:00" stEvt:softwareAgent="Adobe Photoshop CC (Macintosh)" stEvt:changed="/"/>
<rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:4E811E5E61F8E31183E6DB5EA6C6987D" stEvt:when="2014-06-20T11:59:38+02:00" stEvt:softwareAgent="Adobe Photoshop CS6 (Windows)" stEvt:changed="/"/>
</rdf:Seq>
</xmpMM:History>
<dc:rights>
<rdf:Alt>
<rdf:li xml:lang="x-default">This Picture is a Property of My Company</rdf:li>
</rdf:Alt>
</dc:rights>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
但如果我手动添加或更改这些信息,则JPG已损坏! 任何想法或方法将不胜感激! 此致
答案 0 :(得分:1)
使用ColdFusion编辑图像元数据没有普通方法。您应该使用某些第三方工具(使用cfexecute标记)或java库来执行此任务。看看这些答案:
答案 1 :(得分:0)
有一个函数ImageGetMetadata()
可以获取元数据,但查看文档我看不到一个setter。
这个答案讨论了一些可以帮助你的自定义标签。 https://stackoverflow.com/a/2863843/1218040