2010-04-19 94 views
2

有没有办法在Flex SDK 3.5中获取文件的MIME类型而不使用扩展名?Flex SDK 3.5 - 检查文件MIME类型

我需要验证上传的文件是否属于某种类型。这是用于图像或文档(PDF,ODT等)

我发现的所有解决方案都是通过检查其扩展名。如果我将.odt文件重命名为.jpg,该怎么办?然后我可以将它作为图像上传...

我应该添加,我们使用的是一个AIR桌面客户端和一个Java EE服务器。文件检查是在Java方面解决的,但这个想法不是去服务器,验证文件,所以如果文件无效,根本就没有网络流量。

回答

3

不是真的。文件没有固有的MIME类型。在用于传输数据的互联网协议(如HTTP,SMTP,RTP等)的头部中描述了任意内容数据的MIME类型。

我唯一能想到的另一个解决方案就是使用一个反复试验过程,在这个过程中你猜测你正在处理的文件类型,然后通过实际打开该文件(在您的代码中)并测试成功。但这很丑陋。

Steav,您的解决方案只是查看响应头,可能没有正确设置。

-1

最简单的方法是使用PHP,如果可能的话:

$fileinfo['content-type']; 
+0

我们正在使用Flex和Java EE。服务器端检查已完成,但我需要检查Flex上的文件,因此我不会不必要地将它发送到服务器。 – 2010-04-19 17:26:39