推荐一个.Net常用代码集合,助你高效完成业务
上次给大家推荐了《推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类》,受到大家的一致欢迎,这次再给大家推荐一个常用代码集合,这个库虽然与之前那个只有小部分重复,功能齐全,大家可以整合一起使用。
项目简介
这个代码集合,都是一些常用的功能性代码,每个类都是独立、没有相互依赖,可以单独使用。大家可以根据项目,提取相应的类,避免重复造轮子。
功能列表
===========
Chart图形:柱状图、饼图、条形图
加密解密:DES、MDG、RSA、Hash
上传下载:调用API文件上传、下载、保存
视频转换:asf, avi, mpg, 3gp, mov相互转换
阿里云:阿里直播、OSS相关API封装。
FTP:链接、文件上传、文件下载、文件夹获取、文件获取、修改文件名称、获取文件信息、切换目录
条形码:39、13
图片:收略图、图片/文字水印、反色、浮雕、拉伸、滤镜、翻转、压缩、黑白、上传下载等操作
网络:Http请求、IP获取、邮件发送、Socket操作、客户度信息获取
Cookie&Session:操作辅助
Excel:文件读取、编辑、格式转换、查询
JSON:List、对象、DataSet与Json相互转换。
XML:文件读取、保存、节点增、删、改,节点属性管理。
二维码:二维码图片生成、图片大小设置
汉字与拼音:相互转换
缓存:系统缓存设置、修改、删除、查询
计划任务:Quartz.NET
网络安全:脚本攻击、授权认证
文件:读写文件、删除、追加文件、后缀名、目录、文件属性等
验证码:数字、字母与数字、字母随机
其他:字符串类型转换、配置文件操作、日志、时间戳、随机数、线程、正则表达式
技术架构
开发工具:VisualStudio
SDK:.Net Framework4.5
项目结构
部分功能代码
**阿里Oss上传文件
**
/// <summary>/// 上传文件/// </summary>/// <param name="fileName">文件名:/images/demo.jpg</param>/// <param name="fileStream"></param>public void Upload(string fileName, Stream fileStream){OssClient ossClient = new OssClient(EndPoint, AccessKeyID, AccessKeySecret);ObjectMetadata metadata = new ObjectMetadata();//根据文件名设置ContentTypemetadata.ContentType = GetContentType(fileName);string key = "MerLogo/" + fileName;fileStream.Seek(0, SeekOrigin.Begin);PutObjectResult result = ossClient.PutObject(BucketName, key, fileStream, metadata);}
二维码生成
/// <summary>/// 生成二维码图片/// </summary>/// <param name="str">字符串</param>/// <param name="size">图片大小</param>/// <param name="path">图片位置 /// 例如 /abc/abc//// </param>/// <returns>返回生成的二维码图片路径</returns>public string Create(string str, int size, string path){try{QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();//设置编码模式qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//设置编码测量度qrCodeEncoder.QRCodeScale = size;//设置编码版本qrCodeEncoder.QRCodeVersion = 8;//设置编码错误纠正qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;System.Drawing.Image image = qrCodeEncoder.Encode(str);string filename = "~" + path + Guid.NewGuid() + ".jpg";image.Save(HttpContext.Current.Request.MapPath(filename));return filename.Replace("~", "");}catch (Exception){return "";}}
RSA的加密函数
//############################################################################## //RSA 方式加密 //说明KEY必须是XML的行式,返回的是字符串 //在有一点需要说明!!该加密方式有 长度 限制的!!//############################################################################## //RSA的加密函数 stringpublic string RSAEncrypt(string xmlPublicKey,string m_strEncryptString ) { byte[] PlainTextBArray; byte[] CypherTextBArray; string Result; RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); rsa.FromXmlString(xmlPublicKey); PlainTextBArray = (new UnicodeEncoding()).GetBytes(m_strEncryptString); CypherTextBArray = rsa.Encrypt(PlainTextBArray, false); Result=Convert.ToBase64String(CypherTextBArray); return Result; }
FTP上传文件
/// <summary> /// 上传 /// </summary> public void Upload(string filename){FileInfo fileInf = new FileInfo(filename);FtpWebRequest reqFTP;reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + fileInf.Name));reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);reqFTP.Method = WebRequestMethods.Ftp.UploadFile;reqFTP.KeepAlive = false;reqFTP.UseBinary = true;reqFTP.ContentLength = fileInf.Length;int buffLength = 2048;byte[] buff = new byte[buffLength];int contentLen;FileStream fs = fileInf.OpenRead();try{Stream strm = reqFTP.GetRequestStream();contentLen = fs.Read(buff, 0, buffLength);while (contentLen != 0){strm.Write(buff, 0, contentLen);contentLen = fs.Read(buff, 0, buffLength);}strm.Close();fs.Close();}catch (Exception ex){throw new Exception(ex.Message);}}
柱状图
/// <summary>/// 柱形图/// </summary>/// <returns></returns>public string CreateColumn(){Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表 Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象//指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到//Microsoft.Office.Interop.OWC.ChartChartTypeEnumobjChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;//指定图表是否需要图例objChart.HasLegend = true;//标题objChart.HasTitle = true;objChart.Title.Caption = _title;// objChart.Title.Font.Bold=true;// objChart.Title.Font.Color="blue";#region 样式设置// //旋转// objChart.Rotation = 360;//表示指定三维图表的旋转角度// objChart.Inclination = 10;//表示指定三维图表的视图斜率。有效范围为 -90 到 90//背景颜色// objChart.PlotArea.Interior.Color = "red";//底座颜色// objChart.PlotArea.Floor.Interior.Color = "green";// // objChart.Overlap = 50;//单个类别中标志之间的重叠量#endregion//x,y轴的图示说明objChart.Axes[0].HasTitle = true;objChart.Axes[0].Title.Caption = "X :类别";objChart.Axes[1].HasTitle = true;objChart.Axes[1].Title.Caption = "Y :数量";//添加一个seriesMicrosoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);//给定series的名字ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);//给定分类ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);//给定值ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();dl.HasValue = true;// dl.Position=Microsoft.Office.Interop.Owc11.ChartDataLabelPositionEnum.chLabelPositionOutsideEnd;string filename = DateTime.Now.ToString("yyyyMMddHHmmssff") + ".gif";string strAbsolutePath = _phaysicalimagepath + "\\" + filename;objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight);//输出成GIF文件.return filename;}
源码地址:
Gitee地址:https://gitee.com/kuiyu/dotnetcodes
推荐一个.Net常用代码集合,助你高效完成业务相关推荐
- 推荐一个支持低代码开发的OA开源系统
今天给大家推荐一个低代码平台的开源OA系统. 项目简介 这个是一个开源免费的微型办公自动化系统,除了有考勤.排班等基础功能外:公司所有的日常工作流程,比如请假申请.用车申请.会议申请等等,都可以通过配 ...
- iOS开发中那些容易被我们忽略的代码,常用代码集合
退回输入键盘 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponder]; } CGRect CGRe ...
- 推荐一个js常用工具函数库
etools 常用js函数整理 安装和使用 使用npm安装:npm install -s etools 通过es6模块引入,如import _ from "etools";cons ...
- 推荐一个js常用工具函数库etools
etools 常用js函数整理 安装和使用 使用npm安装:npm install -s etools 通过es6模块引入,如import _ from "etools";cons ...
- WordPress主题制作常用代码集合
如何你是个wordpress主题设计者,可能会在制作wordpress主题时为了一些寻找合适的wordpress代码焦虑,这里搜集总结wordpress主题开发中常用的代码片段,希望为你工作中带来方便 ...
- 推荐一个开源低代码开发平台 Corteza
Corteza 低代码开发平台 Corteza低代码开发平台,官网: https://cortezaproject.org/ 截至目前,是我找到的,唯一一个100%免费的开源平台了.我查了将近十多个开 ...
- cad图形文件无效且无法修复_20个CAD技巧,47个常用快捷键,助你高效出图,从此不加班!...
很多刚开始画施工图的小伙伴都很困扰 为什么别人的施工图画的又快又好 而我却要每天黑着眼眶熬着夜 面对改了又改的图纸 以及甲方和领导的微信 "图纸改完了吗?明天给我终稿..." 不停 ...
- android常用代码合集,Android常用代码
1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...
- 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类
今天给大家推荐一个C#开发工具箱,涵盖了所有常用操作类,体积小.功能强大. 项目简介 C# 开发工具箱.大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压 ...
最新文章
- 把握春招,收下这份GitHub万星的ML算法面试大全!
- android error: undefined reference to 的错误分析
- 计算机主机组成实验,计算机组成原理实验-运算器组成实验报告
- 设计模式(二) 模板方法
- java 拉取收件箱邮件源码_邮件提醒系统:新邮件识别
- Graph(2014辽宁ACM省赛)
- Selenium Automated test 's Installation environment
- K线形态识别—双K线之卖出型双日K线组合
- EAUML日拱一卒-活动图::14.2 Behavior StateMachines (10)
- 2.	Zigbee应用程序框架开发指南 - 应用程序框架结构
- html圆圈里面问号,UTF-8编码的html页面显示-(问号)而不是字符
- coreldraw高级快捷键技巧
- 软件架构图——RUP4+1架构方法
- C语言编程练习:水仙花数
- 云原生关乎文化,而不是容器
- Egret 开发H5小游戏
- VIC Classic 驱动程序
- 展讯系统 Dialer 强力定制
- 初学者入门:软件测试从零开始
- 更新微信 7.0,你后悔了吗?
热门文章
- python中以下不能创建一个字典的语句是_10、以下不能创建一个字典的语句是
- python字符串‘’ “ ”使用以及使用转义字符
- matlab画三维约束图命令,Matlab画三维图的方法
- 专访58沈剑:除了架构,我还想认真谈谈管理
- Statement和PreparedStatement的区别及联系
- Linux环境下docker安装与配置
- fulltext mysql_mysql深入理解全文索引fulltext及实例剖析
- STM32的SPI模式读写FLASH芯片全面讲解
- B树索引和位图索引介绍
- nginx代理rabbitmq