我找到了一个清除图像中exif数据的网站。来源可以是上传的图片或URL。我想,也许我可以将它与CFHTTP一起使用,以自动处理发布到网站上的图片。我知道在将图像上传到站点之前,我可能可以通过该站点手动运行图像。如果需要,可以称之为练习。
这是我使用的代码,基本上与这个非常简单的网站(link)上的表单源相匹配
<cfhttp method="POST" url="https://www.verexif.com/en/quitar.php" result="result" >
<cfhttpparam name="foto_url" type="formfield" value="{myimageurl}">
</cfhttp>
当我尝试使用DeserializeJSON(result.Filecontent)时,它给了我ColdFusion错误:
当我在CFHTTP标签中对原始URL进行网址编码时,result.filecontent包含原始网站的源代码。
从上面的第一张图片可以看出,输出中包含一个名为“ foto_no_exif.jpg”的文件。这是我需要下载的文件。我怎样才能做到这一点 ?
答案 0 :(得分:3)
在当前转储中,您具有已修改的映像,但是您需要以二进制数据的形式对其进行访问。通过将属性getasbinary
添加到cfhttp
标签中,可以强制将请求的文件内容视为二进制数据。
工作示例:
<cfset imageURL ='https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/long_description.jpg'/>
<cfhttp method="get" getasbinary="yes" charset="utf-8" url="https://www.verexif.com/en/quitar.php" result="result">
<cfhttpparam name="foto_url" type="formfield" value="#imageURL#">
</cfhttp>
<cfcontent variable="#result.Filecontent#" type="image/jpg" reset="true" />