【发布时间】:2010-12-27 09:13:09
【问题描述】:
有没有办法通过 MIME 类型或其他检查方式来判断文件是否为图像?这些图像将进入画廊,我将根据需要调整它们的大小,并希望尽我所能确保我将要使用 GDI 处理的文件实际上是一个图像。
【问题讨论】:
标签: asp.net system.drawing.imaging
有没有办法通过 MIME 类型或其他检查方式来判断文件是否为图像?这些图像将进入画廊,我将根据需要调整它们的大小,并希望尽我所能确保我将要使用 GDI 处理的文件实际上是一个图像。
【问题讨论】:
标签: asp.net system.drawing.imaging
尝试将文件加载到Bitmap 对象中。如果您遇到异常,则它不是图像。
【讨论】:
在stackoverflow 和this one 上查看此问题/答案。我相信这是一个重复的问题。
另外,请查看文件的magic number,特别是如果您只是想确定该文件是否是少数可接受的类型之一。 Magic number Wikipedia
【讨论】:
是的,您可以检查 fileUploadCtrl.PostedFile.ContentType 属性并将该字符串与预期的图像 MIME 类型列表(即图像/gif)进行比较。您还可以通过将上传的图像字节加载到 System.Drawing.Image 对象中来执行附加验证。如果它加载你知道你有一个好的图像,如果它无法加载,那么图像可能是伪造的或未知格式。
【讨论】: