图像 - 创建 头像V1.0
byte[] logo
//处理群头像信息
//byte[] logoByte = Convert.FromBase64String(logo);
////1.0
System.IO.MemoryStream mstream = new System.IO.MemoryStream(logo);
//1.1
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(mstream);
//1.2
bitmap.PixelFormat.GetType();
//1.3
logoImg = qun.ID + "qunImg" + DateTime.Now.ToString("yyyymmddhhmmss") + DateTime.Now.Millisecond + ".jpg";
//1.4
bitmap.Save(Qun_Logo_IMG_SAVE_URL, System.Drawing.Imaging.ImageFormat.Jpeg);
/// <summary>
/// 上传图片
/// </summary>
/// <param name="type">图片类型</param>
/// <param name="bytesStr">图片流</param>
/// <returns></returns>
public string UploadImg(int type, String bytesStr)
{
//取到服务器路径
//string pathTemp = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
//int index = pathTemp.LastIndexOf("\\");
//pathTemp = pathTemp.Substring(0, index + 1);
String ImgStr = CommonUtility.ApplicationPath + "Images";
//string ImgStr = Server.MapPath("~\Images");
//string ImgStr = "..\Images";
//如果不存在路径
if (!Directory.Exists(ImgStr))
{
//创建图片路径
Directory.CreateDirectory(ImgStr);
}
//定义流
MemoryStream ms = null;
//返回结果
String result = "";
//定义图片
Bitmap bmp = null;
try
{
//解析图片流
//FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
//StreamReader sr = new StreamReader(ifs);
//String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(bytesStr);
ms = new MemoryStream(arr);
bmp = new Bitmap(ms);
}
catch (Exception ex)
{
return null;
}
//执行日期
DateTime dt = DateTime.Now;
String dateStr = dt.ToString("yyyyMMdd");
//判断上传图片类型
//贴图图片
if (type == 1)
{
string qunImgStr = ImgStr + "\\qunImg";
//如果不存在路径
if (!Directory.Exists(qunImgStr))
{
//创建图片路径
Directory.CreateDirectory(qunImgStr);
}
//今日文件夹
string dateQunImgStr = qunImgStr + "\\" + dateStr;
//如果不存在路径
if (!Directory.Exists(dateQunImgStr))
{
//创建图片路径
Directory.CreateDirectory(dateQunImgStr);
}
string imgname = dt.ToString("yyyyMMddHHmmssffffff") + "_" + bytesStr.Length.ToString() + "_" + type.ToString() + ".jpg";
string imgurl = dateQunImgStr + "\\" + imgname;
try
{
bmp.Save(imgurl, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
return null;
}
result = "Images/qunImg/" + dateStr + "/" + imgname;
}
//头像图片
else
{
string iconImgStr = ImgStr + "\\iconImg";
//如果不存在路径
if (!Directory.Exists(iconImgStr))
{
//创建图片路径
Directory.CreateDirectory(iconImgStr);
}
//今日文件夹
string dateIconImgStr = iconImgStr + "\\" + dateStr;
//如果不存在路径
if (!Directory.Exists(dateIconImgStr))
{
//创建图片路径
Directory.CreateDirectory(dateIconImgStr);
}
string imgname = dt.ToString("yyyyMMddHHmmssffffff") + "_" + bytesStr.Length.ToString() + "_" + type.ToString() + ".jpg";
string imgurl = dateIconImgStr + "\\" + imgname;
try
{
bmp.Save(imgurl, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
return null;
}
result = "Images/iconImg/" + dateStr + "/" + imgname;
}
if (ms != null)
{
ms.Close();
}
return result;
}
//测试方法
public string getimgbase64(string path)
{
try
{
Bitmap bmp = new Bitmap(path);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
String img = Convert.ToBase64String(arr);
return this.UploadImg(1, img);
}
catch (Exception ex)
{
return null;
}
}
#endregion
Test
PicUploadTest
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PicUploadTest.aspx.cs" Inherits="WebService.PicUploadTest" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<br />
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using RSAIF.BLL.IServiceBLL;
using RSAIF.BLL.ServiceBLL;
using System.Drawing;
using System.IO;
namespace WebService
{
public partial class PicUploadTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filepath = FileUpload1.PostedFile.FileName;
string filename = filepath.Substring(filepath.LastIndexOf("//") + 1);
var path = Server.MapPath("~/images/test/") + filename;
FileUpload1.PostedFile.SaveAs(path);
//上传图片
UploadManage model = new UploadManage();
try
{
Bitmap bmp = new Bitmap(path);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
String img = Convert.ToBase64String(arr);
Label1.Text = model.UploadImg(1, img);
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
//model.UploadImg(2, path);
//model.getimgbase64(path);
}
}
}