/// <summary> ???????/// 检查是否文件是否图片并保存 ???????/// </summary> ???????/// <param name="file">文件</param> ???????/// <param name="savePath">保存文件的目录(例:/Img/Mark/)</param> ???????/// <param name="newFileName">重命名后文件的名称</param> ???????/// <returns>是否成功</returns> ???????private bool SaveImage(HttpPostedFileBase file, string savePath, out string newFileName) ???????{ ???????????bool isSuc = false; ???????????newFileName = string.Empty; ???????????int contentLen = file.ContentLength; ???????????byte[] fileByte = new byte[2]; ???????????using (Stream stream = file.InputStream) ???????????{ ???????????????stream.Read(fileByte, 0, 2); ???????????????string fileFlag = string.Empty; ???????????????if (fileByte != null && fileByte.Length > 0) ???????????????{ ???????????????????fileFlag = fileByte[0].ToString() + fileByte[1].ToString(); ???????????????????Dictionary<string, string> dicImageByte = new Dictionary<string, string> { ???????????????????{ "255216","jpg"},{ "7173","gif"},{ "6677","bmp"},{ "13780","png"} }; ???????????????????string imageType = string.Empty; ???????????????????bool isImage = dicImageByte.TryGetValue(fileFlag, out imageType); ???????????????????if (isImage) ???????????????????{ ???????????????????????string fileName = Guid.NewGuid().ToString() + "." + imageType; ???????????????????????file.SaveAs(Path.Combine(Server.MapPath(savePath), fileName)); ???????????????????????newFileName = savePath + fileName; ???????????????????????isSuc = true; ???????????????????} ???????????????} ???????????????stream.Close(); ???????????????return isSuc; ???????????} ???????}
Mvc检查图片格式后上传
原文地址:http://www.cnblogs.com/tangchun/p/7567242.html