System.Drawing.Image img = null;
img=RotateImage(System.Drawing.Image.FromStream(postedFile.InputStream));
int Width = img.Width;
int Height = img.Height;
int Height = img.Height;
//设置文件名
fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + System.IO.Path.GetFileName(files[0].FileName);
//保存文件
img.Save(Server.MapPath("~/sunshineupload/" + Utility.UserId + "/thumbnail/" + fileNewName), ImageFormat.Jpeg);//保存的时候必须添加图片格式,不然图片会很大;
/// 根据图片exif调整方向
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
public Image RotateImage(Image tmpbitmap)
{
try
{
var exif = tmpbitmap.PropertyItems;
byte orien = 0;
var item = exif.Where(m => m.Id == 274).ToArray();
if (item.Length > 0)
orien = item[0].Value[0];
switch (orien)
{
case 2:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);//horizontal flip
break;
case 3:
tmpbitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);//right-top
break;
case 4:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);//vertical flip
break;
case 5:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipX);
break;
case 6:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);//right-top
break;
case 7:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipX);
break;
case 8:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);//left-bottom
break;
default:
break;
}
Bitmap bitmap = new Bitmap(tmpbitmap);
tmpbitmap.Dispose();
return (Image)bitmap;
}
catch (Exception E)
{
Utility.WriteFileLog("UploadImageMethod" + E.Message, "UploadImages.txt");
return tmpbitmap;
}
}
fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + System.IO.Path.GetFileName(files[0].FileName);
//保存文件
img.Save(Server.MapPath("~/sunshineupload/" + Utility.UserId + "/thumbnail/" + fileNewName), ImageFormat.Jpeg);//保存的时候必须添加图片格式,不然图片会很大;
/// 根据图片exif调整方向
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
public Image RotateImage(Image tmpbitmap)
{
try
{
var exif = tmpbitmap.PropertyItems;
byte orien = 0;
var item = exif.Where(m => m.Id == 274).ToArray();
if (item.Length > 0)
orien = item[0].Value[0];
switch (orien)
{
case 2:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);//horizontal flip
break;
case 3:
tmpbitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);//right-top
break;
case 4:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);//vertical flip
break;
case 5:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipX);
break;
case 6:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);//right-top
break;
case 7:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipX);
break;
case 8:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);//left-bottom
break;
default:
break;
}
Bitmap bitmap = new Bitmap(tmpbitmap);
tmpbitmap.Dispose();
return (Image)bitmap;
}
catch (Exception E)
{
Utility.WriteFileLog("UploadImageMethod" + E.Message, "UploadImages.txt");
return tmpbitmap;
}
}