我公司数据库中的许多图像都有非常规名称,例如“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>
答案 0 :(得分:0)
你编写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>