图像 - 创建 头像V1.0

时间:2025-04-20 21:34:50

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

}
}