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

}
}

图像 - 创建 头像V1.0的更多相关文章

  1. .Net Core .Net Core V1.0 创建MVC项目

    .Net Core V1.0 创建MVC项目 创建MVC项目有两种方式: 一.创建Web项目:(有太多没用的东西要去删太麻烦) 2.项目目录结构: 此种方法要注意的是,会创建好多个json文件,下面就 ...

  2. 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)

    前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...

  3. ZXing工具类v1.0

    package com.jadyer.util; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import jav ...

  4. Rookey.Frame v1.0快速开发平台-整体介绍

    Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...

  5. Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇

    目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...

  6. 熊海CMS xhcms v1.0代码审计

    有空的时候就进行小型CMS的代码审计,这次审计的对象是熊海CMS v1.0 本地环境安装好了之后,可以看到提示安装了锁文件 说明重装漏洞应该不会存在了,这时候丢进seay代码审计系统的代码也出结果了, ...

  7. ASP.NET Boilerplate终于发布v1.0了

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者. ASP.N ...

  8. .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。

    在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...

  9. 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0

    作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...

随机推荐

  1. Android Fragment(碎片)的使用

    简介 在Android中Fragment为一种可以嵌入活动中的UI片段.能让程序更加合理地利用大屏幕的空间. 使用方法 1.我们首先新建的一个onefragment.xml文件. <?xml v ...

  2. AngularJS如何使用ngRepeat过滤排序

    NG重复指令,带过滤器,像这样: <li ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitT ...

  3. Thinkphp excel导入导出

    挺有用处的存一下 1.去PHPexcel 官网下载最新的程序下来 ☞   飞机在这里 我用的是1.78 放在vender 里面 在  function.php 写两个方法 路径当然是这个 ☞Commo ...

  4. php的多线程使用

    PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程.多线程在处理重复性的循环任务,能够大大缩短程序执行时间. 在liunx下的安装 准备工作: 1.下载Threa ...

  5. 检测delphi的程序的内存泄漏

    在主窗体的FormCreate 加入ReportMemoryLeaksOnShutdown := True;

  6. SQL Server 为索引启动硬件加速(分区)的 2 方法

    背景知识: 如果你想看<三国>这部电视剧它有 假设它有400G这么大,现在你有两个朋友他们都已经把这部剧保存在自己的硬盘上了. A用一个硬盘就把这部剧保存了下来,B用了两个硬盘才保存了一下 ...

  7. 构建混合云:配置Azure site to site VPN连接(1)

      用户在构建自己云计算解决方案的时候,往往会选择私有云或者公有云来做部署,但在一些场景下,用户更加希望通过混合云的方案来满足自己的业务需求.Azure为混合云的部署提供多种不同的连接方案,最常见的是 ...

  8. Embedded software develop step

    x86 –>embeded so you you  must familiar with x86 first-

  9. android退出Activity

    对于单一Activity的应用来说,直接finish() 或者killProcess()和System.exit() 退出. 但是对于多Activity个可以使用单例模式创建一个Activity管理对 ...

  10. #include <boost/function.hpp>

    为atoi取别名fun,fun实质上是函数指针 #include <iostream> #include <boost/function.hpp> void main() { ...