图像 - 创建 头像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);
}
}
}
图像 - 创建 头像V1.0的更多相关文章
- .Net Core .Net Core V1.0 创建MVC项目
.Net Core V1.0 创建MVC项目 创建MVC项目有两种方式: 一.创建Web项目:(有太多没用的东西要去删太麻烦) 2.项目目录结构: 此种方法要注意的是,会创建好多个json文件,下面就 ...
- 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)
前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...
- ZXing工具类v1.0
package com.jadyer.util; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import jav ...
- Rookey.Frame v1.0快速开发平台-整体介绍
Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...
- Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇
目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...
- 熊海CMS xhcms v1.0代码审计
有空的时候就进行小型CMS的代码审计,这次审计的对象是熊海CMS v1.0 本地环境安装好了之后,可以看到提示安装了锁文件 说明重装漏洞应该不会存在了,这时候丢进seay代码审计系统的代码也出结果了, ...
- ASP.NET Boilerplate终于发布v1.0了
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者. ASP.N ...
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...
随机推荐
- Android Fragment(碎片)的使用
简介 在Android中Fragment为一种可以嵌入活动中的UI片段.能让程序更加合理地利用大屏幕的空间. 使用方法 1.我们首先新建的一个onefragment.xml文件. <?xml v ...
- AngularJS如何使用ngRepeat过滤排序
NG重复指令,带过滤器,像这样: <li ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitT ...
- Thinkphp excel导入导出
挺有用处的存一下 1.去PHPexcel 官网下载最新的程序下来 ☞ 飞机在这里 我用的是1.78 放在vender 里面 在 function.php 写两个方法 路径当然是这个 ☞Commo ...
- php的多线程使用
PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程.多线程在处理重复性的循环任务,能够大大缩短程序执行时间. 在liunx下的安装 准备工作: 1.下载Threa ...
- 检测delphi的程序的内存泄漏
在主窗体的FormCreate 加入ReportMemoryLeaksOnShutdown := True;
- SQL Server 为索引启动硬件加速(分区)的 2 方法
背景知识: 如果你想看<三国>这部电视剧它有 假设它有400G这么大,现在你有两个朋友他们都已经把这部剧保存在自己的硬盘上了. A用一个硬盘就把这部剧保存了下来,B用了两个硬盘才保存了一下 ...
- 构建混合云:配置Azure site to site VPN连接(1)
用户在构建自己云计算解决方案的时候,往往会选择私有云或者公有云来做部署,但在一些场景下,用户更加希望通过混合云的方案来满足自己的业务需求.Azure为混合云的部署提供多种不同的连接方案,最常见的是 ...
- Embedded software develop step
x86 –>embeded so you you must familiar with x86 first-
- android退出Activity
对于单一Activity的应用来说,直接finish() 或者killProcess()和System.exit() 退出. 但是对于多Activity个可以使用单例模式创建一个Activity管理对 ...
- #include <boost/function.hpp>
为atoi取别名fun,fun实质上是函数指针 #include <iostream> #include <boost/function.hpp> void main() { ...