我公司数据库中的许多图像都有非常规名称,例如“St.John‘s.jpg”。在cf8中,我在IsImageFile中使用了URLEncodedFormat(myimage)来检查这样的图像(参见下面的代码)。在我搬到cf9之前,它运行得很好。看起来cf9不能识别IsImageFile中的URLEncodedFormat文件。请告诉我如何使cf9检查图像与传统和非传统名称。
<cfif IsImageFile("http://www.mywebsite.com/images/#URLEncodedFormat(myimage)#")>
<cfset imageURL = "/images/#URLEncodedFormat(myimage)#">
<cfelse>
<cfset imageURL = "/images/noimage.jpg">
</cfif>
发布于 2012-09-19 04:35:08
您编写if语句的方式使我相信您在"myimage“变量中包含了文件扩展名。如果是这样的话,它就会“。(句号)正在转换为"%2E“。
如果这是正确的,我建议解决以下问题:
<cfscript>
basePath = "http://www.mywebsite.com";
image = "freds's image.jpg";
name = URLEncodedFormat(listFirst(image, "."));
extension = listLast(image, ".");
imageUrl = "/images/#name#.#extension#";
if (! isImageFile(basePath & imageUrl)) {
imageUrl = "/images/noimage.jpg";
}
</cfscript>
https://stackoverflow.com/questions/12305108
复制相似问题