首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么两台ColdFusion 8服务器使用相同的代码返回不同的值?

为什么两台ColdFusion 8服务器使用相同的代码返回不同的值?
EN

Stack Overflow用户
提问于 2012-01-17 01:05:06
回答 4查看 217关注 0票数 0

我有一段代码,在尝试缩放图像并将其添加到PDF之前,我使用它来验证图像是否有效。基本上:

代码语言:javascript
复制
<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位)上的开发人员版:

代码语言:javascript
复制
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位)上的标准版:

代码语言:javascript
复制
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 
EN

回答 4

Stack Overflow用户

发布于 2012-01-17 04:33:00

From the documentation

使用此函数判断镜像文件是否有效。如果部署ColdFusion的服务器不支持图像文件格式,或者图像文件的路径名为空或无效,则此函数将返回False值。

它继续暗示着

要确定在部署ColdFusion的服务器上支持哪些图像文件格式,请使用GetReadableImageFormatsGetWriteableImageFormats

我看不出你说哪个服务器是对的,哪个是错的,但是问题似乎是由服务器引起的,而不是CF。

检查从get*ImageFormats函数获得的结果,看看这是否有帮助-尽管阅读jpgs可能是基准...

另一件要检查的事情是CF在每台服务器上运行的权限-如果您手动将文件复制到服务器,您可能会受到文件访问权限的干扰。

票数 1
EN

Stack Overflow用户

发布于 2012-01-17 01:25:06

您可以在此处附加(或链接到)图像吗?我会在我的系统上做同样的测试。一台Mac和另一台Windows2008。

票数 0
EN

Stack Overflow用户

发布于 2012-01-18 01:29:30

我知道这听起来可能太简单了,但是如果你用FileExists替换IsImageFile,你在这两种情况下都会得到“是”吗?

代码语言:javascript
复制
<cfdump var="#FileExists(imgPath)#" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8883540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档