上次给大家推荐了《推荐一个不到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常用代码集合,助你高效完成业务相关推荐

  1. 推荐一个支持低代码开发的OA开源系统

    今天给大家推荐一个低代码平台的开源OA系统. 项目简介 这个是一个开源免费的微型办公自动化系统,除了有考勤.排班等基础功能外:公司所有的日常工作流程,比如请假申请.用车申请.会议申请等等,都可以通过配 ...

  2. iOS开发中那些容易被我们忽略的代码,常用代码集合

    退回输入键盘 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponder]; } CGRect CGRe ...

  3. 推荐一个js常用工具函数库

    etools 常用js函数整理 安装和使用 使用npm安装:npm install -s etools 通过es6模块引入,如import _ from "etools";cons ...

  4. 推荐一个js常用工具函数库etools

    etools 常用js函数整理 安装和使用 使用npm安装:npm install -s etools 通过es6模块引入,如import _ from "etools";cons ...

  5. WordPress主题制作常用代码集合

    如何你是个wordpress主题设计者,可能会在制作wordpress主题时为了一些寻找合适的wordpress代码焦虑,这里搜集总结wordpress主题开发中常用的代码片段,希望为你工作中带来方便 ...

  6. 推荐一个开源低代码开发平台 Corteza

    Corteza 低代码开发平台 Corteza低代码开发平台,官网: https://cortezaproject.org/ 截至目前,是我找到的,唯一一个100%免费的开源平台了.我查了将近十多个开 ...

  7. cad图形文件无效且无法修复_20个CAD技巧,47个常用快捷键,助你高效出图,从此不加班!...

    很多刚开始画施工图的小伙伴都很困扰 为什么别人的施工图画的又快又好 而我却要每天黑着眼眶熬着夜 面对改了又改的图纸 以及甲方和领导的微信 "图纸改完了吗?明天给我终稿..." 不停 ...

  8. android常用代码合集,Android常用代码

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

  9. 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类

    今天给大家推荐一个C#开发工具箱,涵盖了所有常用操作类,体积小.功能强大. 项目简介 C# 开发工具箱.大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压 ...

最新文章

  1. 把握春招,收下这份GitHub万星的ML算法面试大全!
  2. android error: undefined reference to 的错误分析
  3. 计算机主机组成实验,计算机组成原理实验-运算器组成实验报告
  4. 设计模式(二) 模板方法
  5. java 拉取收件箱邮件源码_邮件提醒系统:新邮件识别
  6. Graph(2014辽宁ACM省赛)
  7. Selenium Automated test 's Installation environment
  8. K线形态识别—双K线之卖出型双日K线组合
  9. EAUML日拱一卒-活动图::14.2 Behavior StateMachines (10)
  10. 2. Zigbee应用程序框架开发指南 - 应用程序框架结构
  11. html圆圈里面问号,UTF-8编码的html页面显示-(问号)而不是字符
  12. coreldraw高级快捷键技巧
  13. 软件架构图——RUP4+1架构方法
  14. C语言编程练习:水仙花数
  15. 云原生关乎文化,而不是容器
  16. Egret 开发H5小游戏
  17. VIC Classic 驱动程序
  18. 展讯系统 Dialer 强力定制
  19. 初学者入门:软件测试从零开始
  20. 更新微信 7.0,你后悔了吗?

热门文章

  1. python中以下不能创建一个字典的语句是_10、以下不能创建一个字典的语句是
  2. python字符串‘’ “ ”使用以及使用转义字符
  3. matlab画三维约束图命令,Matlab画三维图的方法
  4. 专访58沈剑:除了架构,我还想认真谈谈管理
  5. Statement和PreparedStatement的区别及联系
  6. Linux环境下docker安装与配置
  7. fulltext mysql_mysql深入理解全文索引fulltext及实例剖析
  8. STM32的SPI模式读写FLASH芯片全面讲解
  9. B树索引和位图索引介绍
  10. nginx代理rabbitmq