【发布时间】:2012-01-16 17:05:06
【问题描述】:
我有一段代码用于在尝试缩放图像并将其添加到 PDF 之前验证图像是否有效。基本上:
<cfset imgPath = "C:\uploads\images\myimage.jpg" />
<cfdump var="#IsImageFile(imgPath)#" />
我在两台服务器上都有相同的图像文件,当我在两台服务器上运行上述代码时,一个返回“YES”,另一个返回“NO”(“NO”是正确的)。两台服务器都运行 ColdFusion 8(版本 8,0,1,195765)。返回“NO”的一个是 Windows 7 64 位上的 Developer Edition,另一个是 Windows 2003 SP2 32 位上的 Standard Edition。我看不出操作系统或版本会对这样的简单代码产生什么影响。这可能是什么原因造成的?
谢谢。
图像测试代码结果:
Windows 7(64 位)开发者版:
GetReadableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP
GetWriteableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP
FileExists: YES
IsImageFile: NO
Windows 2003(32 位)标准版:
GetReadableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP
GetWriteableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP
FileExists: YES
IsImageFile: YES
【问题讨论】:
-
我现在的两段代码都指向同一个确切的文件(不是原始文件的副本),而且我得到了相同的结果。
-
如果您使用的是开发者版,则将其作为独立服务器运行,例如localhost:8500,并且您必须在 2003 服务器上运行 II6,对吗?还是您在 Apache 上运行它?
-
实际上,Developer Edition 是在带有 IIS 6 的 Windows 7 上运行的。
-
尝试将您的标准版许可证复制到您的开发机器上。如果它仍然给出相同的结果,您可以排除 Dev Ed 与 Standard 之间的差异。完成后请务必删除该许可证!
标签: image coldfusion coldfusion-8