图像 - 创建 头像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);
        }

    }
}

posted @ 2014-05-14 09:08  乾坤袋  阅读(158)  评论(0编辑  收藏  举报