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

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;}

 

 

 

国内创业公司QingCloud的魄力:做一个世界级的IaaS服务 从毫秒到微妙,纯硬的闪存阵列IBM Flash System来了! 中科创达邹鹏程:黑客精神逐渐被人遗忘 有点让人感伤 通过讲故事的方式来设计优秀网站 “肮脏的”IT工作排行榜 Clank:带有SCSS的高效率移动应用原型框架 欧朋 CTO 罗志宇:谈Sphinx游戏引擎的前世今生 John Carmack大神亲手操刀,Oculus Rift SDK即将发布 从南极之争谈软件架构十个技巧,及成功团队具备的气质 Imation重拳出击,推出新型混合存储平台 张建华:FusionSphere不是简单的OpenStack发行版 Chrome 29来了:地址栏变得更“兼容” Android版增WebRTC 工程师谈在Facebook工作最糟糕的事情 用Scala重构19楼——SDCC 2013讲师王治专访 10款最新且超实用的开发框架 创业公司为什么应该写博客? 向iOS SDK看齐:Facebook Android SDK迎来重大更新 闯向海外:对话AppFlood产品总监陈霄 高手爱跨界:联想智能桌面,27寸大Pad抢先试玩 惠普第三季度收入272亿美元同比下降8% 高管重新布局 原来我们会出这个价钱购买“廉价”iPhone Web设计过程中该做和不该做的 新细节披露:通过电信合作 美国75%网络遭NSA监控 实时Bug检测工具Bugsnag发布API更新 【观察】一大三小:亚马逊,微软、谷歌、IBM ,IaaS四足鼎立 “化云为雨”一小滴:北京,3G手机+蓝牙打印机实现智能抄表 金山云与蓝汛联合提供云基础设施服务 MongoDB出新招,增加对Hive的支持 编程语言收入榜 Java排第三 直接拿来用!10段超有用的Git命令行代码 Google Cast SDK正式版发布:自动适配,修复Bug application.initialize完成了什么 高手来帮忙啊~ 看看java的魅力 如何通过自制程序的编辑框向现有一般应用程序编辑框传送内容? 窗口执行顺序问题,请多帮助,谢谢 如何自动取得server的日期和时间 怎样让文件指针指到文件末尾,必须skipline一行一行跳吗? 我想在菜单前添加图标,使用Bitmap属性但是为何只能载入*.bmp文件而不能使用*.ico文件,我只有*.ico的图标,请问该如何解决。 有新建一个文本文件并给其命名的函数吗,怎么用 我还真不懂呀? 这个COLTYPE是怎么用的呀?你说它怎么得到表中字段的类型呀? 有关存储器(ram,rom)的编址问题。以及32位或更多位芯片的问题。 一些汇编问题。想来问bcb的兄弟{bcb里好象有不少汇编高手} 救命:在安装了sco openserver之后,系统不能启动,先前安装的win98和win2k也不能。 请问如何进行URL译码??? 请问怎样截取一个string中的一段? 请问delphi做的exe最小可以到多少?怎么做? 我想请问一下WINGATE的具体怎样在WIN2000服务器版中进行设置。 ASP的同志们,能不能留一下QQ号码? 请问何处有破解ACCESS2000的程序或源代码呢? 请问要在TEdit.text组件文本串中找出当前光标在第几个字符上怎么办?谢谢! 请问关于dbImage控件的使用方法? 关于HDC及双缓冲的问题? xxxbird(*说你行,你就行,不行也行*),来领“我遇到几个怪问题。。。。。。”中的分 为什么ASP没法向SQL Server中写入数据?代码什么地方错了 大家帮忙找一下,找到我给50分 exe 捆绑机怎么做? 大家谈谈JSP的设计模式怎末了?我有个题目,设计好的大大有奖! 浏览器下的那个进度条是怎么弄出来的? C中的typedef struct和C++中的 struct有何区别? C中的typedef struct和C++中的 struct有 什么区别?谢谢 lastlove(本栏位广告招商中,欢迎投放!),jjdelphi(我真的不懂),jinesc(杂牌军)-(人民军队为人民) 开利息了 一个网页的原代码可以保存到字符串里吗? 有没有各种C++编译器都支持的字符串类型或字符串类? <@> 关于 ProcessMessages 一个想不如大家想,请各位帮忙想个主页的名字吧。 女友23岁,她会选择前途还是爱情?-----一个VB程序员的痛苦 如何实现应用程序与动态库通信??? ----myxfang----偶来贷款了!!!--- myxfang(大富翁银行~业务员~~),都给你了,我可把赌注都压到你身上了 我存钱,没人受理吗?银行业务员在哪? CMainFrame主框架是用来干什么的? myxfang(大富翁银行~业务员~~),我已经结账了,到哪里去取贷款? 怎么释放它? ----myxfang---我给手续费了,我的贷款呢??http://www.csdn.net/expert/topic/203/203903.shtm--- myxfang(大富翁银行~业务员~~),来拿我的骚扰费~ 老师!! 这个动态查询为何总出错? 大富翁银行生意兴隆!恭喜恭喜…… ~~~~myxfang给我们上了生动的一课~~~~ 我被黑了,谁来帮我? myxfang(大富翁银行~业务员~~),我存钱 各们老大,我下了一堆的PDF格式的电子书,用Acrobat reader打开的时候总是说有错,而且全部如此,无一例外,请问是不是我的acrobat reader有问题 圆的周长是25.12厘米,求圆的面积 求阴影部分的面积 单位:厘米 圆的周长是25.12厘米 如右图所示,圆的周长是6.28厘米,圆的面积和长方形的面积相等.阴影部分的面积是多少平方厘米?周长? 一个小圆的半径是6厘米,一个大圆的直径是8厘米,大圆和小圆的面积比是: 下图圆的周长是12.56厘米,圆和长方形面积相等,求长方形的场图是这样的:一个圆的4分之1是长方形的一部分 圆的周长、面积的计算公式?圆柱体、圆椎体的体积计算公式? 小圆的半径是3厘米,大圆的直径是8厘米,大圆和小圆的面积的最简整数比是( 一个圆与一个长方形面积相等,圆的周长是18.84厘米,长方形长10厘米,宽多少厘米? 圆的周长和面积计算公式. 在周长是48厘米的正方形内画一个圆,这个圆的周长是多少厘米,面积是多少平方厘米? 一个圆与一个长方形面积相等已知圆的周长是18.84厘米长方形的长是6厘米 长方形的宽是多少 圆的周长和面积的计算公式分别是什么? 在周长是12厘米的正方形内画一个最大的圆,圆的周长是多少厘米? 一个圆儿的面积与一个长方形的面积相等,圆的周长是18.84厘米,长方形的长是六厘米,宽是多少? 圆的周长面积的公式是什么? 如下图,圆的周长是50.24厘米,圆的面积与长方形的面积相等,求阴影部分的面积. 一个圆与一个长方形的面积相等,圆周长是18.84厘米,长方形长6厘米,宽是多少厘米? 关于圆的周长及面积的公式 图中圆的周长是25.12cm,BC=10cm 阴影部分的面积是( ) 见右下图,圆的周长是18.84厘米,圆与长方形的面积相等.长方形的长和宽各是多少? 圆的周长公式和面积公式一定要有周长和面积公式,一样不能少哈~要把字母换成字 图中圆的周长是25.12cm,圆的面积正好等于长方形oabc的面积的2倍.求阴影部分的面积 一个圆与一个长方形的面积相等.圆的周长是37.68厘米.长方形的宽是9厘米,长是多少? 图中圆的周长是18.84厘米,圆面积与长方形面积相等,求图中阴影部分的面积.(要简洁) 如图,圆的面积与长方体的面积相等,圆的周长是25.12cm,求阴影部分的周长 一个圆的周长是37.68厘米,面积是多少 圆的周长是18.84cm,求阴影部分的面积.必采! 图中的4个圆的周长都是37.68厘米,求阴影部分的面积. 一个圆环的外圆周长是50.24厘米,内圆的周长是37.68厘米,这个圆环的面积是多少平方米? 已知三个等圆的周长是18.84cm,求阴影部分的面积. 如图长方形与圆的面积相等,圆的周长是37.68CM,求阴影部分的面积是多少.π取3.14 长方形的面积与圆的面积相等(如图),已知圆的周长是37.68平方分米,长方形的宽是多少分米?如图 如图,已知圆的周长是18.84cm,且两条直径互相垂直,求阴影部分面积. 如图,圆的周长是31.4厘米,求阴影部分面积.阴影部分面积是那梯形.那梯形的下底是8. 一个圆和一个长方形的面积相等,圆的周长是37.68cm,长方形的宽是9cm,长是多少 下图中圆的周长是20厘米,如果圆的面积和长方形的面积相等,计算涂色部分的周长? 图中四个等圆的周长都是50.24cm,求阴影部分的面积?(6cm不是本题的条件) 下图中长方形和圆的面积相等,圆的周长是25.12厘米,阴影部分的面积是多少平方厘米?周长呢 如图,长方形的面积与圆的面积相等,圆的周长是20厘米,英语部分的周长是多少 请问大、小两个圆的周长比是5:3 .已知两个圆的面积相差32平方厘米,这两个圆的面积各是多少? 已知下图中圆的周长是12.56厘米,求阴影部分的面积. 下图中长方形和圆的面积相等,圆的周长是25.12厘米,阴影部分的面积是多少平方厘米? 大小两个圆的周长之比是5:3,它们的面积相差48平方厘米,两个圆的面积分别是多少平方厘米? ` 已知下图三角形的面积是16.28平方厘米.圆的周长都是12.56厘米,求阴影部分的面积?已知下图三角形的` 已知下图三角形的面积是16.28平方厘米.圆的周长都是12.56厘米,求阴影部分的面积? 已知下 右图中圆的周长是二十五点一二厘米,圆的面积正好等于长方形OABC面积的二倍,求阴影部分的面积. 大、小两个圆的周长比是5:3.已知两个圆的面积相差32平方厘米,这两圆的面积各是多少? 下图中,圆的周长是12.56厘米,圆的周长等于长方形的长,求阴影部分的面积 长方形和圆的周长相等,圆周长是31.4厘米,长方形的宽和长的比是1:4,长方形的面积比圆的面积少多少?过程详细 清楚^这个符号能不能用语言来表达一下,本人不太清楚 请看清楚【问题补充 两个圆的周长之和是94.2厘米,已知大圆半径与小圆半径的比是4∶1.这两个圆的面积各是多少平方厘米? 如图,三个等圆的周长都是12.56,那么阴影部分的面积是多少平方厘米 有一个圆与长方形的面积相等,圆的周长是12.56厘米,长方形的长是4厘米,宽是多少厘米? 一个圆的周长是94.2厘米,半径增加1厘米,这个圆的面积增加了多少平方厘米? 已知三个圆的周长都是12.56分米,并且圆心都是三角形的顶点,请你求出阴影部分的面积 圆的周长是25.12厘米,圆的面积正好和长方形的面积相等,长方形的长是多少厘米 甲,乙两个圆的周长比是2比3,其中一个圆的面积是12平方厘米,另一个圆的面积可能是多少,也可能是多少? 三角形面积是16.28平方厘米,圆的周长12.56厘米,求阴影部分面积 右图中圆的周长是18.84cm,圆的面积与长方形的面积正好相等则图中阴影部分的面积是多少平方厘米 甲乙两圆的周长比是3:4,其中一个圆的面积是15平方厘米,另一个圆的面积可能是( ),也可能是( ) 圆的周长是25.12厘米,求正方形内阴影部分面积 右图中圆的周长是18.84厘米,圆的面积与长方形的面积正好相等,则图中阴影部分的面积是多少平方厘米?阴影部分的周长是多少厘米?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn