记录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 ...
随机推荐
- linux添加超级管理员用户,修改,删除用户
useradd一个用户后,去修改/etc/passwd文件中的这个用户这一行,把其中的uid改为0,gid改为0(其中****代表一个用户名)这样****就具有root权限了 如:root2:x:0: ...
- mpvue——小程序修改input的placehold样式
前言 官方地址 https://developers.weixin.qq.com/miniprogram/dev/component/input.html 用placeholder-class的时候没 ...
- 满汉全席[2-SAT]
题面 对不起我又写了一个板题qvq 和洛谷那道模板题没区别...两样菜至少做一样即可 不过注意define和函数的区别!!! #include <cmath> #include <c ...
- Hdoj 2149.Public Sale 题解
Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才行,Le ...
- 仙人掌&圆方树学习笔记
仙人掌&圆方树学习笔记 1.仙人掌 圆方树用来干啥? --处理仙人掌的问题. 仙人掌是啥? (图片来自于\(BZOJ1023\)) --也就是任意一条边只会出现在一个环里面. 当然,如果你的图 ...
- Qt: 非阻塞时间延迟;
1.使用时间耗损循环: #include <QTime> ... QTime delayTime = QTime::currentTime().addMSecs(1000); while( ...
- mvc 返回一个对象 到视图接收
public ActionResult InfoFrame() { List<Users> list = new List<Users>(); Users user = new ...
- python之用unittest实现接口参数化示例
示例中获取参数的方法有三种: 1. 从文件(txt)中读取参数 2. 从Excel中读取参数 3. 在代码中直接写参数 def login(username,password): return 'ok ...
- Celery - 一个懂得 异步任务 , 定时任务 , 周期任务 的芹菜
1.什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储 ...
- Stm32型号查阅手册