【发布时间】:2011-01-27 10:13:54
【问题描述】:
目前我得到文件的文件扩展名,例如:
string fileExt = System.IO.Path.GetExtension(filUpload.FileName);
但如果用户更改文件的文件扩展名(例如用户可以将“test.txt”重命名为“test.jpg”),我无法获得真正的扩展名。有什么解决办法?
【问题讨论】:
标签: asp.net file-upload
目前我得到文件的文件扩展名,例如:
string fileExt = System.IO.Path.GetExtension(filUpload.FileName);
但如果用户更改文件的文件扩展名(例如用户可以将“test.txt”重命名为“test.jpg”),我无法获得真正的扩展名。有什么解决办法?
【问题讨论】:
标签: asp.net file-upload
没有办法获得“真正的”文件扩展名 - 您从文件名中获得的文件扩展名是真实的。如果您关心文件内容,您可以使用 .ContentType 属性检索内容类型并验证它是否是您期望的内容类型 - 例如。 图像/jpg.
【讨论】:
无论用户将文件扩展名重命名为什么,这就是真正的文件扩展名。
您永远不应依赖文件扩展名来告诉您文件中的内容,因为它可以重命名。
见“how can we check file types before uploading them in asp.net?”
【讨论】: