我有我的控制器
[HttpPost] public ActionResult ChangeAvatar(HttpPostedFileBase file) { AvatarHelper.AvatarUpdate(file,User.Identity.Name); return RedirectToAction("Index","Profile"); }
我已经检查文件是否是jpeg / png格式:
private static bool IsImage(string contentType) { return AllowedFormats.Any(format => contentType.EndsWith(format,StringComparison.OrdinalIgnoreCase)); } public static List<string> AllowedFormats { get { return new List<string>() {".jpg",".png",".jpeg"}; } }
我需要的是 – 它确保上传的文件是真实的图像文件,而不是带有图像扩展名的txt文件.
using (var image = System.Drawing.Image.FromStream(postedFile.InputStream)) { ///image stuff }
我在考虑从输入流创建图像的try / catch块,但我想知道是否有好的方法可以做到这一点?
谢谢)
附:
我想知道是否有另一种(更有效的方式尝试/捕获阻止)方式来检查文件是否是真实的图像?
解决方法
原文地址:https://www.jb51.cc/aspnet/245417.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。