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

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. Flask插件wtforms、Flask文件上传和Echarts柱状图

    一.wtforms 类比Django的Form组件Form组件的主要应用是帮助我们自动生成HTML代码和做一些表单数据的验证 flask的wtforms用法跟Form组件大同小异参考文章:https: ...

  2. Eclipse maven hadoop -- java.io.IOException: No FileSystem for scheme: hdfs

    2019-01-10 概述 今天在Windows系统下新安装了Eclipse和maven的环境,想利用Maven构建一个Hadoop程序的,结果却发现程序运行时一直报 “No FileSystem f ...

  3. FWT快速沃尔什变换学习笔记

    FWT快速沃尔什变换学习笔记 1.FWT用来干啥啊 回忆一下多项式的卷积\(C_k=\sum_{i+j=k}A_i*B_j\) 我们可以用\(FFT\)来做. 甚至在一些特殊情况下,我们\(C_k=\ ...

  4. tomcat在windows及linux环境下安装

    下载tomcat 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用 ...

  5. Kafka遇到30042ms has passed since batch creation plus linger time at org.apache.kafka.clients.producer.internals.FutureRecordMetadata.valueOrError(FutureRecordMetadata.java:94)

    问题描述: 运行生产者线程的时候显示如下错误信息: Expiring 1 record(s) for XXX-0: 30042 ms has passed since batch creation p ...

  6. 一文读懂ES6(附PY3对比)

      Ⅰ.ES6~POP¶ 代码示例:https://github.com/lotapp/BaseCode/tree/master/javascript/1.ES6 在线演示:https://githu ...

  7. 深入理解JVM(2)——运行时数据区

    1.运行时数据区 1.1.程序计数器 记录当前线程正在执行的字节码指令的地址,如果正在执行的是 Native 方法,这个计数器值则为空. 1.2.虚拟机栈 每个 Java 方法在执行的同时会创建一个栈 ...

  8. 为 Java 程序员准备的 Go 入门 PPT

    为 Java 程序员准备的 Go 入门 PPT 这是 Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的. 视频 这个 ...

  9. 行为驱动开发BDD和Cucunber简介

    测试驱动开发(TDD) 1.测试驱动开发,即Test-Driven Development(TDD),测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前 ...

  10. input输入框自动获取焦点

    只要在该input标签后添加autofocus="autofocus"即可 代码实例: <html> <head></head> <bod ...