我有一段代码,在尝试缩放图像并将其添加到PDF之前,我使用它来验证图像是否有效。基本上:
<cfset imgPath = "C:\uploads\images\myimage.jpg" />
<cfdump var="#IsImageFile(imgPath)#" />我在两个服务器上都有相同的镜像文件,当我在两个服务器上运行上面的代码时,一个返回"YES",另一个返回"NO“("NO”是正确的)。两台服务器都运行ColdFusion 8(版本8,0,1,195765)。返回"NO“的是64位Windows7上的开发人员版,另一个是32位Windows2003 SP2上的标准版。我看不出操作系统或版本会对像这样一段简单的代码有什么影响。这可能是什么原因造成的?
谢谢。
镜像测试代码的结果:
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: NOWindows 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 发布于 2012-01-17 04:33:00
From the documentation:
使用此函数判断镜像文件是否有效。如果部署ColdFusion的服务器不支持图像文件格式,或者图像文件的路径名为空或无效,则此函数将返回False值。
它继续暗示着
要确定在部署ColdFusion的服务器上支持哪些图像文件格式,请使用GetReadableImageFormats和GetWriteableImageFormats。
我看不出你说哪个服务器是对的,哪个是错的,但是问题似乎是由服务器引起的,而不是CF。
检查从get*ImageFormats函数获得的结果,看看这是否有帮助-尽管阅读jpgs可能是基准...
另一件要检查的事情是CF在每台服务器上运行的权限-如果您手动将文件复制到服务器,您可能会受到文件访问权限的干扰。
发布于 2012-01-17 01:25:06
您可以在此处附加(或链接到)图像吗?我会在我的系统上做同样的测试。一台Mac和另一台Windows2008。
发布于 2012-01-18 01:29:30
我知道这听起来可能太简单了,但是如果你用FileExists替换IsImageFile,你在这两种情况下都会得到“是”吗?
<cfdump var="#FileExists(imgPath)#" />https://stackoverflow.com/questions/8883540
复制相似问题