本篇文章介绍了使用c#如何后台处理图片的几种方法,具体代码如下:
第一种: 将上传图片直接保存到本地
1
2
3
4
5
6
7
8
9
10
11
12
|
var supportedTypes = new [] { "jpg" , "jpeg" , "png" , "gif" , "bmp" }; var fileName = System.Web.HttpContext.Current.Request.Files[0].FileName; var fileExt = System.IO.Path.GetExtension(fileName).Substring(1); if (!supportedTypes.Contains(fileExt)) { return Json( new { msg = -1 }); } Random r = new Random(); var filename = DateTime.Now.ToString( "yyyyMMddHHmmss" ) + r.Next(10000) + "." + fileExt; var filepath = Path.Combine(Server.MapPath( "~/avatar/temp" ), filename); head.SaveAs(filepath); |
第二种:将图片转换为byte 类型
1
2
3
4
5
|
//filePath 图片物理地址 FileStream fs = new FileStream(filepath, FileMode.Open); byte [] byData = new byte [fs.Length]; fs.Read(byData, 0, byData.Length); fs.Close(); |
第三种:将上传图片转换为byte 类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
HttpPostedFile file = System.Web.HttpContext.Current.Request.Files[0]; if ((file == null )) { return Json( new { Success = false , Msg = "上传图片失败" , Path = "" }); } else { System.Drawing.Image image = System.Drawing.Image.FromStream(file.InputStream); MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte [] byteData = new byte [ms.Length]; ms.Position = 0; ms.Read(byteData, 0, byteData.Length); ms.Close(); image.Dispose(); } } |
以上所述是小编给大家介绍的C# 后台处理图片的几种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!