说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

C#上传文件到WEB服务器

HTML文档下载 WORD文档下载 PDF文档下载
我们可以使用WebClient和HttpWebRequest上传文件。

 

一、使用WebClient

WebClient类提供了UploadFile()和UploadData()方法。两者不同之处在于UploadFile()上传指定文件名的文件。

UploadData()上传二进制数据,数据以字节数组存在,例如:

 

UploadFile例子

 

WebClient  Client = new WebClient();Client.UploadFile("http://www.csharpfriends.com/Members/index.aspx",      "c:\wesiteFiles\newfile.aspx");

UploadData例子

 

byte [] image;//这里省略将图像数据读入byte数组的代码。//.....WebClient  Client = new WebClient();client.UploadData("http://www.csharpfriends.com/Members/images/logocc.jpg", image);

 

 

 

二、使用HttpWebRequest

 

 

private void UploadFilesToRemoteUrl(string url, string[] files, string logpath){  long length = 0;  string boundary = "----------------------------" +  DateTime.Now.Ticks.ToString("x");  HttpWebRequest httpWebRequest2 = (HttpWebRequest)WebRequest.Create(url);  httpWebRequest2.ContentType = "multipart/form-data; boundary=" + boundary;  httpWebRequest2.Method = "POST";  httpWebRequest2.KeepAlive = true;  httpWebRequest2.Credentials = System.Net.CredentialCache.DefaultCredentials;  Stream memStream = new System.IO.MemoryStream();  byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");  memStream.Write(boundarybytes,0,boundarybytes.Leng th);  length += boundarybytes.Length;  string headerTemplate = "Content-Disposition: form-data; name=\"{0}\";  filename=\"{1}\"\r\n Content-Type: application/octet-stream\r\n\r\n";  for(int i=0;i<files.Length;i++)  {    string header = string.Format(headerTemplate,"file"+i,files[i]);    byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);    memStream.Write(headerbytes,0,headerbytes.Length);    length += headerbytes.Length;    FileStream fileStream = new FileStream(files[i], FileMode.Open, FileAccess.Read);    byte[] buffer = new byte[1024];    int bytesRead = 0;    while ( (bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0 )    {       memStream.Write(buffer, 0, bytesRead);       length += bytesRead;    }   memStream.Write(boundarybytes,0,boundarybytes.Leng th);   length += boundarybytes.Length;   fileStream.Close();   }   httpWebRequest2.ContentLength = memStream.Length;   Stream requestStream = httpWebRequest2.GetRequestStream();   memStream.Position = 0;   byte[] tempBuffer = new byte[memStream.Length];   memStream.Read(tempBuffer,0,tempBuffer.Length);   memStream.Close();   requestStream.Write(tempBuffer,0,tempBuffer.Length);   requestStream.Close();   WebResponse webResponse2 = httpWebRequest2.GetResponse();   Stream stream2 = webResponse2.GetResponseStream();   StreamReader reader2 = new StreamReader(stream2);   MessageBox.Show(reader2.ReadToEnd());   webResponse2.Close();   httpWebRequest2 = null;   webResponse2 = null;}

 

 

 

红帽刘长春:开源是推动云计算和大数据发展的重要力量 【直击美国云计算】出货量达x86的20多倍 ARM或将成为数据中心主角 孙小群:将SAP HANA打造为开放的PaaS平台 GitHub推出重大改进:强调速度、内容和交互性 如何打造测试工程师精英团队? 如何做个有“钱”途的测试工程师? 苹果开始关注企业移动化 iOS 7的10大办公功能 “开源群英会2013” 参会名单(持续更新中) 微软Builder2013前瞻 主打跨平台工具及服务 CMDN 29期:软件测试与管理之路 微软IE10与HIT FM 携手打造全新HTML5官网 专访GenMyModel CTO:一款全新在线建模工具背后的故事 【直击美国云计算】Jason Hoffman:数据和计算的融合将破坏全球利润 【直击美国云计算】如何做Hadoop、流处理框架等技术的采用选择 【直击美国云计算】细数云技术领域成王败寇:从SaaS到SDN 【直击美国云计算】谷歌Jeff Dean:成功的关键是专注 致远V5发布:强调大协同,企业移动化真来了 Mailbox:六星期实现从零到百万用户及日处理亿条消息 代码审查,也要天时地利人和 Clash of Clans产品总监:游戏中的商品定价一开始就要高 移动互联网最核心的竞争是:设计的竞争 【直击美国云计算】面对AWS,VMware不会畏缩 美国白宫任命Twitter法务总监Nicole Wong为副CTO Keek宣布推出首款视频Update API 专访阿里前端工程师:淘宝移动Web开发那些事儿 【直击美国云计算】为什么eBay用燃料电池来驱动他的犹他州数据中心 【直击美国云计算】6周发布新产品,LinkedIn的trunk-based开发 移动周报:疯狂吐槽还是更得欢心?细数iOS 7的是与非 国内最受欢迎的开源项目集锦 开始3D编程前需注意的十件事 [CTO俱乐部第100期]软件平台的新思维及2345技术团队管理经验分享 错误:"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。" 产生原因 免费100m asp 空间 求救,如何打开一个USB设备,CreateFile吗?请具体些 在线求救 谁是最可恨的人? 如何将本页设为只能是 target="_top" 谁有格斗游戏的源码,设计资料! 三人合作共同开发一网站,现需页面设计,有意者留下EMAIL 怎样用C#把窗口菜单和按钮做成象VS.NET中的平面菜单和工具栏上的平面按钮? 为什么在MMC中新建SQLSERVER注册总是出现超时已过期的错误? 這樣定義宏是什么意思:#define LIBCMD(givenfunction) \? ===这样的SQL在ORACLE 怎么执行不了 一个WIN2000与WINXP的共享问题 如何将一个CBitmap存为BMP文件? 在directshow中,如何实现像大部分播放器那样的“快进”功能? 较难问题--IE6不能启用cookie? 如何修改group里的数据排序方式? 如何写动态SQL语句??? 怎样让select元素不能修改? 谁用过微软的tts??? 郁闷......呀,偶MM说接吻觉得恶心!!!! 请教高手,本人想请教通过数值如:12.5转换成UNICODE的问题,急!!!在线等待 我现在的密码不好记,如何更改密码? 请教大侠;RMI问题 ASP+SQL server免 费空间哪里有100分送给你. 有没有人用过Virtual PC这个软件的啊???快救命啊!!!!!正等着用啊!!!! 有谁知道在上海周边有哪些电脑配件的厂家,如机箱.主板.显示器之类的? 关于“汇总数据”的问题 请尽快帮我解决病毒问题 菜鸟6000分依次提问ORACLE问题,第一个:大虾给我个函数里建虚表并插入数据的例子 EJB使用大数据量的问题 怎样用DirectShow写一个RenderFilter & SourceFilter linux下的应用程序,界面语言问题 VSS中的Pin和Unpin有什么用?在什么情况下使用? 一个WINXP与WIN2000的共享问题(急) 我想问一下,能不能用sql sever2000 开发桌面型的mis系统 我想监测某个端口的通信主要是 TCP 端口,不想写网卡过滤驱动,各位有什么高招? java的用户文档在那里下载? 急,大小写和建主键的问题 我学校在选拔人参加济南市一个五子棋编程大赛,请教各位高手! 请斑主Montaque进,请直接过来拿分! 关于wise installer的问题 sqlserver两个表中的求和问题,在线等待。。。 页面的设计请教 为什么老是出错,windows2000 请问getdocument写在函数里,和写在头文件里作为view类的成员,除了作用域被扩大了之外,在功能上有什么不同? 为了安全我只开了21,25,80,110,1723端口, 结果自已的IE上不了网? 不知还需要开哪个口子,才能上网.谢谢!!! 简单!!!谁能告诉我,这个定义是什么意思吗? VC不正常了,帮忙 如何根据输入参数输出指定数量的记录? 请问Javamail中如何取得邮箱(INBOX)的大小?Thanks 五步蛇是啥 通常对商品分类和编码是分别进行的,商品编码在先,分类在后.判断题对的还错的,给出理由 为什么发豆芽要常换水 请问这个电阻多大啊 ”商品分类“与“商品分类体系”有什么作用?希望是书本上的内容! 我用555电路造了个发叮咚声音乐门铃,但声音没有想象中的悦耳,反而很难听.发出很沉的叮咚声,一点都不悦耳,请问你们做的也是一样吗?还是我的电路有问题. 请问这个电阻是多大的 如何给商品分类 发豆芽要用什么样的水? 求DNA,基因,染色体,细胞核各自之间的关系. 请问;沉淀法对沉淀形式的要求是什么? 555叮当门铃没有叮咚声,只有电流声滋滋声!电路没有连错!· 求基因,DNA,染色体,细胞核之间的关系.(那些什么是什么的载体,什么在什么上呈线性分布…). 有什么成语里能包含四和八这两个字呢?比如说是四面八方~ 豆芽为什么在水里发科学一点,豆芽是什么科 宇宙有多大,是什么形状,球形,方形,椭圆体? 带有"四"的成语有哪些?(要三个,不包括:四面八方.四通八达) 中镍铬钼球墨无限冷硬材料用什么合金刀片加工好啊 火在太空和深海里是什么形状的呢? 生物体的结构是什么 球墨铸铁电焊补完什么合金刀头能车动 在宇宙火什么形状,我知道答案,考考你们 什么成语跟四通八达差不多,但不叫四通八达 洗硬度高的球墨用什么刀头 求助! 谢谢! 四平八稳 哪四平?哪八稳? 生物体的结构 配置药品时,量筒中有水,会怎么样 ( )四平八的成语有哪些 四通八达打成语 化学有机物中核磁共振氢谱图氢的种类多少怎么看? 请问是( )四平八?(成语)请速回! 带有数字的成语,如:四面八方急 豆芽为什么会在水里生长 五步蛇有没有人买五步蛇!我的家乡有很多 带有四平的成语四平在前 珊瑚礁为什么会被称为“海洋绿洲”? 五步蛇能吃吗?能吃的话,要怎么做呀! 电解饱和食盐水方程式中的氧化剂 为什么珊瑚礁被誉为海洋的热带雨林?为什么?要简洁明了 红色石蕊试纸检验氨气的步骤 多晶硅生产过程中,有些氯硅烷无法处理,比如二氯二氢硅,金属杂质含量较高的三氯氢硅和四氯化硅,只能走尾气淋洗系统或是外卖;这样比较浪费.听说气相法白炭黑可以用氯硅烷做原料,不知 CMOS的读法和意思理解.还有所指芯片的作用.CMOS 和BIOS的意思与读法.例如BIOS 败奥斯.他们的详细意思.和所指芯片组的作用.还有他们在主板上起到的作用. 五步蛇身上黑黑的叫什么? 沉淀法 白炭黑百度怎么控制 下列碳单质的用途中,利用了碳的化学性质的是 1.做电极 2.做滤毒剂 3.制作固体润滑剂 4.做燃料 5.制作装饰品 6.冶炼金属 7,制作染料 怎么养鸭 生物体系统是什么构成 法国红酒的庄园级和村庄级一样吗,还有哪些分级? 若养鸭专业户在自家池塘边改一个面积为150cm方的长方形鸭舍,如图,鸭舍的一边靠墙,墙长16m,并且与墙平行的一个边开一个1cm宽的门,现有能为成34m长的篱笆,求鸭舍的长与宽. 生物体是有什么组成的? 一个装有水的圆柱形玻璃杯,它的底面积是100平方厘米,水深是15厘米.现在将一个底面积是20平方厘米,水深是15厘米.现在将一个底面积是20平方厘米的长方体铁棒垂直放入水中后,还有一部分铁 成语:四平八稳 指的是哪四平?哪八稳? 谁能告诉俺,这两个电阻是多大? (重打)一个装水的圆柱形玻璃杯的底面积是628平方厘米,杯中有一个圆锥,它的底面直径是6厘米,高是20厘米,且完全浸没在水中.如果从杯中取出圆锥,杯里的水面会下降多少厘米? 还原糖一定是单糖吗?貌似有些二糖也是的样子.我搞不清了. 商品分类有哪些? 对氯化铜溶液通直流电,阴极附近溶液蓝色变深还是变浅?. 为什么要叫五步蛇呢? 电解饱和食盐水方程式 豆芽天天换水为什么会死我的豆芽昨天好好的,今天就死了,? 日议员向天皇塞信望其了解民间疾苦 或温家宝出书谈教育忆童年 部分通信首次观察:中国高层释楼市调控信号 长效机日本大规模夺岛军演科目敏感 专家:在香港立法会将讨论是否暂停对菲律宾人入爱,从头开始“给妈妈梳头”走进北京回台州今起发布县级空气质量指数 上网可签证利好出境游升温 百度知心搜索成\原吉林省常务副省长田学仁受贿1919浙江金华召开动员部署会 整治“中国式高考语文分值将增加 教师:传统文化如“裸奔”崭新宝马上高速 “驾照暂扣期“万家购物”网络传销案二审开庭 主犯杭州一快递员送货路上猝死 过度劳动付日本人气电子宠物菲比精灵 可用iPh德国反驳美国抨击 称顺差体现竞争力2013亚洲旅游节:探索亚洲旅游业发广西和泰国教育交流日趋密切日本今日起举行大规模“夺岛”演习 被澳大利亚两个月间39人遭遇隆胸假体破美澳等多国驻外使馆被曝精心伪装 监听怒放2013看哭观众车窗未摇上 两保安看守40分钟官员子女“造假门”不能一退了之世界三大歌舞秀之一徐州之夜患癌5年 乡村教师仍坚持代课虫草虽好 也要提防假冒幼儿园的毛妮说平平淡淡的爱才是真中国“元”级AIP潜艇对美上将开放 洛杉矶胡扔队徐州赛区颁奖典礼落幕failed: 以色列军方与巴勒斯坦韩直升机坠毁引担忧 首尔高层公寓被指连州摄影节:《中国电视》东京股市日经股指收跌女儿被母亲男友2度性侵 母亲:他是最李某某强奸案上午二审俄罗斯一法庭允许第三名绿色和平组织成冒充银行号码骗子转走十万百强律师强奸获刑failed: 女司机是怎样炼成的?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘