ColdFusion无法识别TIFF MIME类型?

时间:2011-09-14 21:41:53

标签: coldfusion upload mime tiff cffile

Coldfusion 8,Apache,Mac OS X Server 10.5。

我有一个允许用户上传图片的网络应用程序。但是,它总是无法上传TIFF文件。 JPEG,GIF和PNG上传就好了,这个问题似乎只适用于TIFF。

用户通过表单中的cfinput标记选择要上传的图像。提交表单时,我尝试使用cfimage标记重命名和移动文件。对于JPEG,PNG等,这可以很好地工作,但如果图像是TIFF,则会出错:

“ColdFusion无法从指定的源文件创建图像。请确保该文件是vaild图像文件。”

接下来,我将cfimage标记更改为cffile标记,尝试以不同的方式重命名并移动上传的图像,但这会产生错误:

“服务器不接受上传文件video / x-ms-wm的MIME类型。只能上传图片/ *类型的文件。”

所以,似乎ColdFusion认为TIFF是视频。我加倍检查/Applications/ColdFusion8/runtime/lib/mime.types,其中包含

image / tiff tiff tif

......就像它应该的那样。为什么ColdFusion不能正确获取TIFF的MIME类型?

非常感谢!

2 个答案:

答案 0 :(得分:3)

上传文件的MIME类型由浏览器提供,这意味着它不可靠。

您没有提供任何代码示例,但我猜您在标记中使用了接受属性。尝试删除它,看看是否按预期工作。

使用接受属性不是确定文件是否属于某种类型的可靠方法,因为它是由浏览器提供的,因此无法信任。相反,您应该查看扩展,如果您确实想要安全,请使用检查实用程序检查文件并确保它是扩展程序所说的内容。

您可以在Pete Freitag的博客上阅读更多关于他的信息。 http://www.petefreitag.com/item/701.cfm

答案 1 :(得分:1)

来自CF 9 release notes

  

79685      CFIMAGE

     

在Mac OS X Snow Leopard上,cfimage标记不支持用于读/写操作的TIFF图像,但getReadableImageFormatsgetWriteableImageFormats将TIFF列为支持的图像格式。