/// <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; } }