C#中使用HttpWebRequest用Post提交Mult...
在C#中有HttpWebRequest类,可以很方便用来获取http请求,但是这个类对Post方式没有提供一个很方便的方法来获取数据。网上有很多人提供了解决方法,但都参差不齐,这里我把我使用的方法总结出来,与大家分享。
本文精华:实现了post的时候即可以有字符串的key-value,还可以带文件。
Post数据格式
Post提交数据的时候最重要就是把Key-Value的数据放到http请求流中,而HttpWebRequest没有提供一个属性之类的东西可以让我们自由添加Key-Value,因此就必须手工构造这个数据。
根据RFC 2045协议,一个Http Post的数据格式如下:
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x
Content-Disposition: form-data; name="submit-name" Larry --AaB03x
Content-Disposition: form-data; name="file"; filename="file1.dat"
Content-Type: application/octet-stream ... contents of file1.dat ...
--AaB03x--
详细解释如下:
Content-Type: multipart/form-data; boundary=AaB03x
如上面所示,首先声明数据类型为multipart/form-data, 然后定义边界字符串AaB03x,这个边界字符串就是用来在下面来区分各个数据的,可以随便定义,但是最好是用破折号等数据中一般不会出现的字符。然后是换行符。
注意:Post中定义的换行符是\r\n
--AaB03x
这个是边界字符串,注意每一个边界符前面都需要加2个连字符“--”,然后跟上换行符。
Content-Disposition: form-data; name="submit-name"
这里是Key-Value数据中字符串类型的数据。 submit-name 是这个Key-Value数据中的Key。当然也需要换行符。
Larry
这个就是刚才Key-Value数据中的value。
--AaB03x
边界符,表示数据结束。
Content-Disposition: form-data; name="file"; filename="file1.dat"
这个代表另外一个数据,它的key是file,文件名是file1.dat。 注意:最后面没有分号了。
Content-Type: application/octet-stream
这个标识文件类型。application/octet-stream表示二进制数据。
... contents of file1.dat ...
这个是文件内容。可以使二进制的数据。 --AaB03x--
数据结束后的分界符,注意因为这个后面没有数据了所以需要在后面追加一个“--”表示结束。
C#下Post数据的函数
搞明白格式后,我们就很容易写出C#的代码了。如下所示:
private static string HttpPostData(string url, int timeOut, string
fileKeyName, string filePath,
NameValueCollection stringDict){ string responseContent; var
memStream = new MemoryStream(); var webRequest =
(HttpWebRequest)WebRequest.Create(url); // 边界符 var boundary =
"---------------" + DateTime.Now.Ticks.ToString("x"); // 边界符
var beginBoundary = Encoding.ASCII.GetBytes("--" + boundary + "\r\n");
var fileStream = new FileStream(filePath, FileMode.Open,
FileAccess.Read); // 最后的结束符 var endBoundary =
Encoding.ASCII.GetBytes("--" + boundary + "--\r\n"); // 设置属性
webRequest.Method = "POST"; webRequest.Timeout = timeOut;
webRequest.ContentType = "multipart/form-data; boundary=" + boundary;
// 写入文件 const string filePartHeader =
"Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\n"+
"Content-Type: application/octet-stream\r\n\r\n"; var header =
string.Format(filePartHeader, fileKeyName, filePath); var
headerbytes = Encoding.UTF8.GetBytes(header);
memStream.Write(beginBoundary, 0, beginBoundary.Length);
memStream.Write(headerbytes, 0, headerbytes.Length); var buffer =
new byte[1024]; int bytesRead; // =0 while ((bytesRead =
fileStream.Read(buffer, 0, buffer.Length)) != 0)
{ memStream.Write(buffer, 0, bytesRead); } // 写入字符串的Key var stringKeyHeader = "\r\n--" + boundary +
"\r\nContent-Disposition: form-data; name=\"{0}\""+
"\r\n\r\n{1}\r\n"; foreach (byte[] formitembytes in from string key
in stringDict.Keys select
string.Format(stringKeyHeader, key, stringDict[key])
into formitem select
Encoding.UTF8.GetBytes(formitem))
{ memStream.Write(formitembytes, 0, formitembytes.Length); }
// 写入最后的结束边界符 memStream.Write(endBoundary, 0,
endBoundary.Length); webRequest.ContentLength = memStream.Length;
var requestStream = webRequest.GetRequestStream();
memStream.Position = 0; var tempBuffer = new byte[memStream.Length];
memStream.Read(tempBuffer, 0, tempBuffer.Length); memStream.Close();
requestStream.Write(tempBuffer, 0, tempBuffer.Length);
requestStream.Close(); var httpWebResponse = (HttpWebResponse)webRequest.GetResponse(); using (var
httpStreamReader = new
StreamReader(httpWebResponse.GetResponseStream(),
Encoding.GetEncoding("utf-8"))) { responseContent =
httpStreamReader.ReadToEnd(); } fileStream.Close();
httpWebResponse.Close(); webRequest.Abort(); return
responseContent;}
参考资料
1. Rfc2045:/TR/html401/interact/forms.html#h-17.13.4.
2. /questions/566462/upload-files-with-httpwebrequest-multipart-form-data
以首字母C为开头的词缀
英语词根词缀
5 以首字母C为开头的词缀 cad,cas,cid 表示落下,降临
例如:casu al偶然的;casu alty事故;灾难;oc cas ion发生;时机;de ca ent颓废
的;ac cid ental偶然的;coin cid e巧合;同时发生;coin cid ence巧合;in cid ent
偶然事件;oc cid ent西方;de ca y衰退;腐败; Cand 表示白,发光;
例如 cand id坦白的,直率的;cand or坦白;cand idate侯选人;cand ela烛光;cand
le蜡烛;cand esc ence发光;in cand escent白热的;遇热发光的; cant,cent 表示唱,歌
例如:cant术语;暗语;re cant撤消;;ac cent口音;重音;ac cent uate强调;重读;
in cent ive激励;刺激力量(in进入+cent唱+ive→把〔力量〕唱进去→激励) cap,capt,cept,ceive,cip,cup 表示拿,抓,握住
例如:cap acity容量,才能;cap acious宽阔的;容积大的(cap acity形容词);in cap
acitate使无能;capt ion标题;字幕;capt ive俘虏;capt ure逮捕,捉拿;capt ious
吹毛求疵的;ac cept接受;承认;ac cept ability可接受性;con cept ion概念,观念;
de cept ive欺骗性的;in cept ion开始,开端;inter cept拦截,阻止;pre cept箴言;
re cept acle容器; ex cept除外;con ceive想象;构想;con ceiv able可想象的;
de ceive欺骗;per ceive知觉;发觉;re ceive接受;收到;re ceipt收据;自大;anti cip
小C、中C、大C
C型臂简介
C型臂:顾名思义该设备有C型的机架,产生X射线的球管,采集图像的影像增强器和CCD摄像机,以及图像处理的工作站组成。主要用于各种手术中的透视造影,点片等工作。另外也区别与其他的x射线设备比如:U型臂,G形臂等等。
C型臂俗称:C型臂X光机、C臂、小C臂、小C、C臂机、C臂X光机等。
C型臂用途
骨科:整骨、复位、打钉、椎间盘造影和消融、经皮穿刺等。
疼痛科:与臭氧、半导体激光、射频机配合开展腰椎、颈椎等疼痛介入治疗。
肿瘤科:多部位肿瘤介入整治。
妇科:输卵管导引术、子宫造影、子宫肌瘤介入治疗等。
普外科:创伤外科、取体内异物。
泌尿外科:肾膀胱造影,泌尿外科手术等。
控制方式
主要包括:手持控制器控制、双脚闸控制器控制、自动透视、手动透视、脉冲透视等控制方式。
射线防护
1.利用脚闸远距离曝光,距离防护。 2.利用限速器,及球管内部的铅皮,防止了散射线。
3.利用脉冲透视缩短曝光时间,从而降低了病人的吃线剂量。
C型臂分类
小C: (C臂、小C臂、小C、骨科C臂)
主要用途1、骨科:整骨、复位、打钉。2、外科:取体内异物、心导管、植入起搏器、部分介入治疗、部分造影术及局部摄影等工作。3、其他:配合臭氧机治疗疼痛,小针刀治疗,妇科输卵管导引手术等。该型产品在医院普及率很高,基本上二级医院都已经装备。
中C(周边介入型C形臂)
定义:周边介入型C形臂,在业界俗称为“中C”,不仅仅是把球管功率提高,就可以谓为“中C”。中C产品设计的系统性和操控性是开展复杂介入手术的有力保障,主要是增加了DSA相关的许多功能。它在临床上可以完成大型血管机(大C)80%以上手术需求。
主要的临床范围:神经外科血管造影,减影术消化道介入手术,例如:ERCP、食道支架;腹腔和盆腔脏器肿瘤介入治疗,例如肝脏、肾脏介入手术;四肢血管造影剂减影术,成型术疼痛微创介入手术,例如:腰椎间盘介入、颈椎介入、妇科输卵管再造手术、子宫肌瘤手术。
c结尾的单词
437个以C为结尾的英文单词
以下为以C为结尾的单词,共437个(后附单词及例句)——
编号 单词 解释
1 abc asd
2 academic a.学院的;学术的
3 acerbic a. 尖刻的
4 acetic a. 醋的,酸的
5 acetylsalicylic adj. 乙酰水杨酸的
6 acoustic adj. 听觉的,有关声音的
7 acrobatic a. 特技表演的,惊险表演的
8 aesthetic a. 美学的;审美的
9 agnostic adj. 不可知论的
10 alcoholic n. 酒鬼,酒精中毒的人
11 allergic adj. 过敏性的;变态的;变应性的,对...讨厌的
12 almanac n. 年鉴,历书
13 altruistic a. 利他的,无私心的
14 amaesthetic n.麻醉剂
15 anaesthetic n. 麻醉剂
16 analgesic n. 镇痛剂,adj. 止痛的
17 analytic a. 分析的,解析的
18 anarchic adj. 无政府的
19 anesthetic n. 麻醉剂;a. 麻醉的
20 angelic a. 天使的,似天使的
21 antagonistic a. 反对的,敌对的
22 antarctic a.南极的 n.南极区
23 anthropomorphic a. 神人同形同性论的
24 antibiotic n. 抗生素,adj. 抗菌的
25 antic adj.古怪的,笨拙的
26 antiseptic n. 杀菌剂,adj.防腐的
27 antithetic adj. 对立的
28 apathetic adj. 冷漠的,无动于衷的
29 apocalyptic adj. 启示的;天启的;预示灾祸的,预示大动乱
30 apologetic adj.道歉的,歉意的
C-SPOC
一、C-SPOC介绍
为方便管理集群中的操作,HACMP 提供了一种方法,通过该方法可以在多个集群节点执行命令并维护要执行操作之间的协调。
一些集群维护操作可能影响 HACMP 配置(拓扑和资源),但通过 HACMP 系统管理工具
(C-SPOC),无需停止关键作业即可执行这些任务(如添加或删除资源、用户和更改拓扑元素)。
注意:C-SPOC 使用一种新的集群通信守护进程 (clcomdES) 在远程节点上执行命令。如果此守护进程没有运行或者无法验证来自发起者节点的请求,将不会执行远程节点上的命令,因此 C-SPOC 操作将会失败。
使用 C-SPOC 实用工具,在一个节点(发起更改的节点)上执行的命令也会在其他集群节点上执行。C-SPOC 最大限度地减少了管理开销,并降低了节点状态不一致的可能性
以下我们将利用C-SPOC功能来在线添加PV及扩展FS。
二、创建PV
1、创建PV
用命令Cfgmgr –v及/usr/DynamicLinkManager/bin/dlmcfgmgr配置LUN;
其中dlmfdrvX就是HDLM封装的为设备
# lspv
hdisk0 000345a76cc6fc03 rootvg active
hdisk1 000345a72fc97c3c rootvg active
hdisk2 none None
hdisk3 none None
dlmfdrv0 000344b9f4ebfc92 hbvg concurrent
C开头的单词
词汇表(C-D):
cabbage n.洋白菜,卷心菜
cabin n.小屋;船舱,机舱
cabinet n.橱,柜;内阁
cable n.缆,索;电缆;电报
cafe n.咖啡馆;小餐厅
cafeteria n.自助食堂
cage n.笼;鸟笼,囚笼
cake n.饼,糕,蛋糕
calculate vt.计算;估计;计划
calculation n.计算,计算结果
calculator n.计算器,计算者
calendar n.日历,历书;历法
call vt.把…叫做;叫,喊
calm a.静的,平静的
camel n.骆驼
camera n.照相机,摄影机
camp n.野营,营地,兵营
campaign n.战役;运动
campus n.校园,学校场地
can aux.v.能,会,可能
can n.罐头,听头;容器
Canada n.加拿大
Canadian a.加拿大的
canal n.运河;沟渠;管
cancel vt.取消,撤消;删去
cancer n.癌,癌症,肿瘤
candidate n.候选人;投考者
candle n.蜡烛;烛形物;烛光
candy n.糖果;砂糖结晶
cannon n.大炮,火炮;榴弹炮
canoe n.独木舟,皮艇,划子
canteen n.小卖部;临时餐室
canvas n.粗帆布;一块油画布
cap n.帽子,便帽;帽状物
capable a.有能力的,有才能的
capacity n.容量;能力;能量
capital n.资本,资金;首都
captain n.陆军上尉;队长
captive n.俘虏,被监禁的人
capture vt.捕获,俘获;夺得
car n.汽车,小汽车,轿车
carbon n.碳
card n.卡,卡片,名片 care vi.关心,介意 n.小心
career n.生涯,职业,经历
careful a.仔细的;细致的
careless a.粗心的,漫不经心的
高考英语必背C字母开头的单词
高考英语必背C字母开头的单词
高考英语必背C字母开头的单词
引导语:准备好英语高考少不了对英语单词的积累,下面店铺为大家整理了高考英语必备的C字母开头的英语单词,方便大家每天记忆,带▲的单词是要重点熟练拼写的,欢迎阅读!
1.cab (美)出租车
2.cabbage 卷心菜,洋白菜
3.café 咖啡馆;餐馆
4.cafeteria 自助餐厅
5.cage 笼;鸟笼
6.calculate 计算,预测
7.cake 蛋糕,糕点;饼
8.call 喊,叫;电话,通话 称呼;呼唤;喊,叫
9.calm 镇静的;沉着的 镇静;沉着
10.camel 骆驼
11.▲camera 照相机;摄像机
12.camp (夏令)营 野营;宿营
13.campaign 战役
14.can 1 可能;能够
15.can 2 容器,罐头
16.canal 运河;水道
17.▲cancel 取消
18.cancer 癌
19.▲candidate 候选人
20.candle 蜡烛
21.candy 糖果
22.canteen 餐厅;食堂
23.cap (无檐的或仅在前面有檐的)帽子;(瓶子的)盖;(钢笔等的)笔套 24.▲capital 首都,省会;大写;资本
25.capsule 容器,胶囊
26.captain (海军)上校;船长,舰长;队长
27.caption 标题,解说词
28.car 汽车,小卧车
29.carbon 碳
30.card 卡片;名片;纸牌
31.care 照料,保护;小心 介意……,在乎;关心
32.careful 小心的,仔细的,谨慎的
33.careless 粗心的,漫不经心的
34.carpenter 木工,工匠
35.carpet 地毯
36.carriage 四轮马车;(火车)客车厢
37.carrier 搬运者;媒介;(车的)货架
38.carrot 胡萝卜
39.carry 拿,搬,带,提,抬,背,抱,运等
c的原子相对原子质量
c的原子相对原子质量
C的原子相对原子质量
C是化学元素周期表中的第6个元素,其原子序数为6,原子量为12.01。在化学中,原子相对原子质量是指一个元素的原子质量与碳-12同位素的原子质量之比。因此,C的原子相对原子质量为12.01。
物理类
原子相对原子质量是一个物理量,它是由原子的质量和质子数决定的。在C的原子中,有6个质子和6个中子,因此其质量为12。但是,由于同位素的存在,C的原子相对原子质量并不等于12。同位素是指原子核中质子数相同,但中子数不同的原子。C的同位素有两种,分别是碳-12和碳-13。碳-12的原子质量为12,而碳-13的原子质量为13.003。
化学类
C是化学中非常重要的元素之一,它在有机化学和生物化学中都有广泛的应用。在有机化学中,C是构成有机物的基本元素之一。有机物是指含有C和H元素的化合物,如烷烃、烯烃、芳香烃等。在生物化学中,C是构成生命体的基本元素之一。生命体中的有机物包括蛋白质、核酸、多糖等,它们都含有C元素。
历史类
C的原子相对原子质量的确定是一个历史悠久的过程。早在18世纪,化学家就开始研究元素的相对原子质量。当时,他们使用化学反应的质量变化来确定元素的相对原子质量。但是,这种方法存在很大的误差,因为化学反应的质量变化受到很多因素的影响。直到20世纪初,科学家才开始使用质谱仪来测量元素的原子质量,从而确定元素的相对原子质量。质谱仪是一种能够测量原子和分子的质量的仪器,它通过将原子或分子加速到高速后,利用磁场将它们分离出来,从而测量它们的质量。
总结
C的原子相对原子质量是一个重要的物理量,它是由原子的质量和质子数决定的。在化学中,C是一个非常重要的元素,它在有机化学和生物化学中都有广泛的应用。C的原子相对原子质量的确定是一个历史悠久的过程,科学家们通过不断的研究和探索,最终确定了C的原子相对原子质量为12.01。
化学c是什么意思
化学c是什么意思
C在化学中有两种含义:1、表示浓度,单位为mol/L,计算式为:C=n/V.C=1000ρω/M。2、表示碳元素。碳是一种非金属元素,位于元素周期表的第二周期IVA族。是一种很常见的元素,它以多种形式广泛存在于大气和地壳和生物之中。
1、表示浓度,单位为mol/L,计算式为:C=n/V.C=1000ρω/M。
含义:用1升溶液中所含溶质的摩尔数表示的浓度。用单位体积内溶质的量(摩尔数)表示的溶液组成的物理量称为溶质的摩尔浓度,也称为溶质的量浓度。
溶质含量越多,浓度越大。浓度可以通过一定溶液中溶质的克数、分子数或当量数来计算。一般用单位溶液中所含溶质的重量百分比来表示。
2、表示碳元素。
碳是一种非金属元素,位于元素周期表的第二周期IVA族。拉丁语为Carbonium,意为“煤,木炭”。碳是一种很常见的元素,它以多种形式广泛存在于大气和地壳和生物之中。碳单质很早就被人认识和利用,碳的一系列化合物——有机物更是生命的根本。碳是生铁、熟铁和钢的成分之一。碳能在化学上自我结合而形成大量化合物,在生物上和商业上是重要的分子。生物体内绝大多数分子都含有碳元素。
c的阶层公式
第 1 页 共 2 页 c的阶层公式
【原创版】
目录
1.阶层公式的背景和意义
2.C 语言中的阶层公式
3.阶层公式的应用示例
4.如何避免使用阶层公式
正文
【1.阶层公式的背景和意义】
在 C 语言编程中,我们经常会遇到一些涉及到数学运算的问题,比如求解一个数的阶乘或者计算一个数的 n 次方。而在这些数学运算中,有一种非常常见的表达方式,那就是阶层公式。
阶层公式,顾名思义,就是用来表示一个数的阶层的公式。它可以让我们通过简单的数学运算,求解出一个数的阶乘或者 n 次方。这种公式在编程中非常实用,可以大大简化我们的代码。
【2.C 语言中的阶层公式】
在 C 语言中,阶层公式通常用 *= 来表示。比如,如果我们想要计算一个数的 3 次方,我们可以使用如下的阶层公式:
```
*= n *= n
```
这个公式的意思是,先将 n 乘以 n,然后再将结果乘以 n,这样就可以得到 n 的 3 次方。
【3.阶层公式的应用示例】 第 2 页 共 2 页 阶层公式在编程中的应用非常广泛,下面我们来看一个具体的应用示例。
假设我们需要计算一个数的 10 次方,我们可以使用阶层公式来计算,具体代码如下:
```
int n = 2; // 定义一个整数 n
int result = 1; // 定义一个整数 result,用来存储计算结果
for (int i = 1; i <= 10; i++) { // 用 for 循环计算 n 的 10 次方
result *= n;
}
printf("n 的 10 次方等于:%d
", result);
```
【4.如何避免使用阶层公式】
虽然阶层公式在编程中非常实用,但是我们也需要注意到,过度使用阶层公式可能会导致代码的可读性降低。因此,在实际编程中,我们应该尽量避免使用阶层公式,而是选择其他更易于理解的表达方式。
C字母开头的四字成语
C字母开头的四字成语
成语(chengyu,idioms),是我国汉字语言词汇中一部分定型的词组或短句,其形式以四字居多,也有一些三字和多字的。
现在跟小编一起来学习下“C”字母开头的四字成语。
“C”字母开头的四字成语
操翰成章 从头到尾 出圣入神 晨秦暮楚
辞尊居卑 辞富居贫 绰有余裕 创业垂统
蹉跎岁月 彩云易散 成竹在胸 词正理直
粗心大意 侈人观听 趁心像意 沉吟不语
穿针引线 抽丝剥茧 持人长短 吹毛求疵
陈规陋习 灿然一新 从井救人 床上安床
惩忿窒欲 长袖善舞 超然独立 超然独处 超然自得
拆东补西 操之过急 炊沙作饭 操纵自如 抽薪止沸
从善若流 残渣余孽 趁波逐浪 粗制滥造 草率从事
草间求活 草草了事 村夫野老 村夫俗子 草头天子
穿云裂石 惨不忍闻 出人意表 出人意外 痴心妄想
簇锦团花 吹花嚼蕊 宠柳娇花 翠竹黄花 残花败柳
彩笔生花 仓皇失措 诚惶诚恐 村酒野蔬 醇酒美人
愁长殢酒 持螯把酒 沉湎酒色 搓手顿脚 惨然不乐
愁眉锁眼 愁眉苦脸 愁肠寸断 愁肠百结 愁眉不展
长吁短叹 戳无路儿 怆然涕下 触目崩心 捶胸跌足
捶胸跌脚 椎心泣血 摧心剖肝 捶胸顿足 创巨痛深
触目恸心 长歌当哭 缠绵悱恻 愁眉泪眼 挫骨扬灰
捶床捣枕 愁山闷海 尺山寸水 丛山峻岭 乘兴而来
沉李浮瓜 处之泰然 宠辱不惊 从容自若 撑天拄地
长街短巷 长春不老 才貌兼全 攒眉蹙额 粗通文墨
怆地呼天 参透机关 察言观色 剗草除根 刬草除根
穿凿附会 唇辅相连 川泽纳污 出门如宾 楚囊之情 策名委质 曹社之谋 残民以逞 触目伤心 触景生情
臭不可闻 臭不可当 怅然若失 差强人意 触景伤情
重温旧梦 聪明正直 从善如流 床笫之私 楚材晋用
除旧更新 除旧布新 出口入耳 丑类恶物 魑魅魍魉
惩恶劝善 城下之盟 操刀伤锦 藏垢纳污 层出叠见
成群结伙 成群结党 成千累万 成群结队 成千上万
层见叠出 灿若繁星 触目皆是 成千成万 粗衣恶食
