Coldfusion 图像信息非常慢

Coldfusion 图像信息非常慢,coldfusion,coldfusion-9,cfimage,Coldfusion,Coldfusion 9,Cfimage,我在coldfusion 9中有以下脚本: <cfimage action="info" source="E:\....\image.png" structname="local.imageInfo"> 映像位于本地驱动器上。此操作大约需要4秒钟。文件大小约为800kb(300dpi,png)。我觉得这不正常。有没有办法加快速度?我只需要图像的宽度和高度 顺便说一句,对图像执行简单的读取操作会立即执行 <cffile action="read" FILE="E:\....

我在coldfusion 9中有以下脚本:

<cfimage action="info" source="E:\....\image.png" structname="local.imageInfo">

映像位于本地驱动器上。此操作大约需要4秒钟。文件大小约为800kb(300dpi,png)。我觉得这不正常。有没有办法加快速度?我只需要图像的宽度和高度

顺便说一句,对图像执行简单的读取操作会立即执行

<cffile action="read" FILE="E:\....\image.png" VARIABLE="local.imageread">


<代码> > p>如果您使用Windows和CaldFix++ 8,请考虑使用免费的、可移植的命令行程序EXIV2和GraceSmiaEng.Exiv2可以使用命令行读取/写入EXIF数据,并且比内置CF函数更快

GraphicsMagick在转换、调整大小、裁剪、旋转、生成缩略图、读取CMYK图像时不抛出错误等方面的速度要快得多

我已经编写了ColdFusion 8-2016+自定义标记作为两个可移植命令行程序的包装




尝试使用
cffile action=“read
读取图像文件,然后调用
info=imageInfo(local.imageread)
。您应该能够从那里获得宽度和高度。@Nebu您使用的是哪个操作系统?如果是Windows,我可以为您提供与ColdFusion 6-2016一起使用的命令行替代方案,并且比本机内置函数快得多(遇到CMYK映像时不要抛出错误)@JohnWhish这不起作用。imageInfo需要一个image对象作为参数。@JamesMoberg操作系统是windows。如果您能为我提供一个命令行替代方案,那就太好了。@Nebu Exiv2是一个免费的可移植命令行实用程序。与ImageGetEXIFMetaData()相比,获取完整的EXIF数据需要15-47毫秒的500-920ms。根据您的建议,我记得我在过去的一个项目中使用过ImageMagick。与GraphicsMagick非常相似。在阅读了多篇关于性能的评论后,我选择在GraphicsMagick上进行标准化。命令行API看起来也更易于使用。
<CFSET ImageFilePath = "c:\test.jpg">
<CFDUMP VAR="#Exiv2(imageFilePath)#">
<CFSET ImageIn = "c:\test.jpg">
<!--- Identify - Get basic info (Exiv2 is better/faster) --->
<CF_GraphicsMagick action="Identify" infile="#ImageIn#" result="GM_Identify">
<CFDUMP VAR="#GM_Identify#" label="GM_Identify">

<!--- Optimize (common settings to reduce filesize) --->
<CF_GraphicsMagick action="Optimize" infile="#ImageIn#" outfile="#replace(ImageIn,'.jpg','_optimize.jpg')#" result="GM_Optimize">

<!--- ResizeWidth (Resize to defined width --->
<CF_GraphicsMagick action="ResizeWidth" infile="#ImageIn#" width="200" outfile="#replace(ImageIn,'.jpg','_resizeWidth.jpg')#" result="GM_ResizeWidth">

<!--- AspectCrop (Similar to ImageUtils.cfc) --->
<CF_GraphicsMagick action="AspectCrop" Infile="#ImageIn#" outfile="#replace(ImageIn,'.jpg','_aspectCrop.jpg')#" width="100" height="100" quality="90" result="aspectCrop">