记录C#常用的代码片段
时间一久,常用的代码会有点忘记,还是贴在这里方便查找!
1、将信息写入文件中
//将字符串写入到文本中
void writeToText(string msg)
{
try
{
msg = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " : " + msg;
string fileUrl = HttpContext.Server.MapPath("~/unionpayLog.txt"); System.IO.FileStream fs = new System.IO.FileStream(fileUrl, System.IO.FileMode.Append);
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
sw.WriteLine(msg);
sw.Close();
fs.Close();
}
catch (Exception ex) { }
}
2、保存Bitmap图片对象到本地, 或者保存图片字节数组到本地
/// <summary>
/// 保存图片到本地
/// </summary>
/// <param name="bmp"></param>
/// <returns>返回图片名字</returns>
public static string SaveImageByBitmap(Bitmap bmp)
{
if (bmp == null) return ""; string imgName = Guid.NewGuid().ToString() + ".jpg";
string localImgPath = LocalImageFolder() + "\\" + imgName; using (bmp)
{
using (MemoryStream stream = new MemoryStream())
{
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bytes = stream.ToArray(); FileStream fs = new FileStream(localImgPath, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(bytes);
bw.Close();
fs.Close();
}
} return imgName;
} /// <summary>
/// 保存图片字节数组到本地
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static string SaveImageByBytes(byte[] bytes)
{
string imgName = Guid.NewGuid().ToString() + ".jpg";
string localImgPath = LocalImageFolder() + "\\" + imgName; FileStream fs = new FileStream(localImgPath, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(bytes);
bw.Close();
fs.Close();
return imgName;
} /// <summary>
/// 获取本地图片路径
/// </summary>
/// <returns></returns>
public static string LocalImageFolder()
{
string dirPath = Directory.GetCurrentDirectory() + "\\tempImages"; if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
} return dirPath;
}
3、网络请求: 传入json字符串,网络请求获得返回结果
/// <summary>
/// post请求
/// </summary>
/// <param name="url">请求服务器接口</param>
/// <param name="paramString">参数字符串</param>
/// <param name="result">服务器返回结果字符串</param>
/// <returns></returns>
public static bool HttpPostRequest(string url, string paramString, ref string result)
{
HttpWebRequest request = null; //如果是发送HTTPS请求
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
//ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
//request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "POST";
request.ContentType = "application/json;charset=utf-8";
//request.Headers.Add("Authorization", User.currentUser.token);
request.Headers.Add("Accept-Encoding", "gzip"); //设置代理UserAgent和超时
//request.UserAgent = userAgent;
//request.Timeout = timeout; //发送POST数据
byte[] data = Encoding.UTF8.GetBytes(paramString);
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, , data.Length);
} HttpWebResponse response; try
{
response = request.GetResponse() as HttpWebResponse;
}
catch (Exception ex)
{
result = "error: " + ex.Message;
return false;
} Stream stream2 = response.GetResponseStream(); //获取响应的字符串流
StreamReader sr = new StreamReader(stream2); //创建一个stream读取流
result = sr.ReadToEnd(); //从头读到尾,读取json字符串
sr.Close();
stream2.Close(); return true;
}
调用举例:
string result = "";
string paramsStr = "{\"userName\":\"admin\", \"password\":\"123456\"}"; if (HttpHelper.HttpPostRequest("http://192.168.1.220:5188/user/login/in", paramsStr, ref result))
{
Console.WriteLine("success:" + result);
}
else
{
Console.WriteLine("请求fail:" + result);
}
解析json字符串为模型对象,引用Newtonsoft库
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
string jsonStr = "{\"code\":\"0000\", \"data\":{\"name\":\"xxx\", \"age\":\"xxx\"}, \"msg\":\"xxxxx\"}";
JObject obj = JObject.Parse(jsonStr);
string code = obj["code"].ToString(); if (code.Equals(""))
{
string dataStr = obj["data"].ToString();
Dictionary<string, string> dataDict = JsonConvert.DeserializeObject<Dictionary<string, string>>(dataStr);
//...
}
记录C#常用的代码片段的更多相关文章
- IOS开发-OC学习-常用功能代码片段整理
IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...
- IOS开发效率之为Xcode添加常用的代码片段
IOS开发效率之为Xcode添加常用的代码片段 原文地址:http://blog.csdn.net/pingchangtan367/article/details/30041285 tableview ...
- 常用JS代码片段
1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...
- js/jquery/html前端开发常用到代码片段
1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...
- 常用javascript代码片段集锦
常用方法的封装 根据类名获取DOM元素 var $$ = function (className, element) { if (document.getElementsByClassName) { ...
- 常用CSS代码片段常见css bug
1.禁止文字被选中 .unselectable { -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select ...
- 常用torch代码片段合集
PyTorch常用代码段整理合集 本文代码基于 PyTorch 1.0 版本,需要用到以下包 import collections import os import shutil import tqd ...
- TornadoFx学习笔记(1)——常用的代码片段
Tornadofx是基于JavaFx的一个kotlin实现的框架 之后看情况补充.. 1.读取resources文件夹中的文件 如图 想要读取config.properties文件,有两种方法 在cl ...
- WebApp 开发中常用的代码片段
其实这里面的多数都是 iOS 上面的代码.其他平台的就没有去验证了. HTML, 从HTML文档的开始到结束排列: <meta name=”viewport” content=”width=de ...
随机推荐
- mpvue——引入echarts图表
安装 mpvue-echarts的github地址 https://github.com/F-loat/mpvue-echarts $ cnpm install mpvue-echarts $ cnp ...
- Python 面向对象高阶-----metaclass
Python 面向对象高阶-----metaclass 前言 类也是对象,既然类是对象,那就自然是某个东西的实例化,这个东西就是type 首先看下type是怎么回事 type type最常用的方法就是 ...
- Matlab中simulink的state space模块
%列写状态空间表达式矩阵 A=[- -;]; B=[ ; ]; C=[ ; ]; D=[ ; ]; %得到传递函数表达式 [num, den]=ss2tf(A, B, C, D, ); %在命令行打印 ...
- jmeter笔记(1)--原理,下载与安装
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文 ...
- 【NOIP2013模拟】终极武器(经典分析+二分区间)
No.2. [NOIP2013模拟]终极武器 题意: 给定你一些区间,然后让你找出\(1\sim 9\)中的等价类数字. 也就是说在任何一个区间里的任何一个数,把其中后\(k\)位中的某一位换成等价类 ...
- <五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库
一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...
- MS SQL Server 数据库连接字符串详解
MS SQL Server 数据库连接字符串详解 原地址:http://blog.csdn.net/jhhja/article/details/6096565 问题 : 超时时间已到.在从池中获取连接 ...
- Shiro与CAS整合实现单点登录
1.简介 CAS:Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法. Shiro:Apache Shiro是一个Java安全框架,可以帮助我们完成认证.授权.会话管 ...
- 关于java集合的练习
关于java集合的练习 练习一:Collection集合练习 一.产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台. public cl ...
- CSS 书写规范
class 类名的命名应该以功能为依据: 例如: .btn-danger; .btn-warning CSS组件 一个组件==一个独立的功能模块 针对一个组件,通过功能描述样式 组件命名,功能描 ...