时间一久,常用的代码会有点忘记,还是贴在这里方便查找!

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#常用的代码片段的更多相关文章

  1. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  2. IOS开发效率之为Xcode添加常用的代码片段

    IOS开发效率之为Xcode添加常用的代码片段 原文地址:http://blog.csdn.net/pingchangtan367/article/details/30041285 tableview ...

  3. 常用JS代码片段

    1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...

  4. js/jquery/html前端开发常用到代码片段

    1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...

  5. 常用javascript代码片段集锦

    常用方法的封装 根据类名获取DOM元素 var $$ = function (className, element) { if (document.getElementsByClassName) { ...

  6. 常用CSS代码片段常见css bug

    1.禁止文字被选中 .unselectable { -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select ...

  7. 常用torch代码片段合集

    PyTorch常用代码段整理合集 本文代码基于 PyTorch 1.0 版本,需要用到以下包 import collections import os import shutil import tqd ...

  8. TornadoFx学习笔记(1)——常用的代码片段

    Tornadofx是基于JavaFx的一个kotlin实现的框架 之后看情况补充.. 1.读取resources文件夹中的文件 如图 想要读取config.properties文件,有两种方法 在cl ...

  9. WebApp 开发中常用的代码片段

    其实这里面的多数都是 iOS 上面的代码.其他平台的就没有去验证了. HTML, 从HTML文档的开始到结束排列: <meta name=”viewport” content=”width=de ...

随机推荐

  1. mpvue——引入echarts图表

    安装 mpvue-echarts的github地址 https://github.com/F-loat/mpvue-echarts $ cnpm install mpvue-echarts $ cnp ...

  2. Python 面向对象高阶-----metaclass

    Python 面向对象高阶-----metaclass 前言 类也是对象,既然类是对象,那就自然是某个东西的实例化,这个东西就是type 首先看下type是怎么回事 type type最常用的方法就是 ...

  3. Matlab中simulink的state space模块

    %列写状态空间表达式矩阵 A=[- -;]; B=[ ; ]; C=[ ; ]; D=[ ; ]; %得到传递函数表达式 [num, den]=ss2tf(A, B, C, D, ); %在命令行打印 ...

  4. jmeter笔记(1)--原理,下载与安装

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文 ...

  5. 【NOIP2013模拟】终极武器(经典分析+二分区间)

    No.2. [NOIP2013模拟]终极武器 题意: 给定你一些区间,然后让你找出\(1\sim 9\)中的等价类数字. 也就是说在任何一个区间里的任何一个数,把其中后\(k\)位中的某一位换成等价类 ...

  6. <五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  7. MS SQL Server 数据库连接字符串详解

    MS SQL Server 数据库连接字符串详解 原地址:http://blog.csdn.net/jhhja/article/details/6096565 问题 : 超时时间已到.在从池中获取连接 ...

  8. Shiro与CAS整合实现单点登录

    1.简介 CAS:Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法. Shiro:Apache Shiro是一个Java安全框架,可以帮助我们完成认证.授权.会话管 ...

  9. 关于java集合的练习

    关于java集合的练习 练习一:Collection集合练习 一.产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台. public cl ...

  10. CSS 书写规范

    class 类名的命名应该以功能为依据: 例如: .btn-danger;  .btn-warning CSS组件 一个组件==一个独立的功能模块 针对一个组件,通过功能描述样式   组件命名,功能描 ...