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

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

 

 

 

VB使用WriteFile 块读/写数据 VB使用枚举变量 VB使用数组做属性 VB使用未安装的字体 输入限制确认-VB资料 熟悉VB的集成开发环境 鼠标取词-VB资料 谈变VB中APP.PAHT的注意事项 探讨高效的排序合并算法-VB资料 剔除INI文件中的注释部分-VB资料 提取可执行文件中的图标-VB资料 添加记录到文档菜单-VB资料 突破 SendKeys 的限制-VB资料 突破SendKeys的限制 -VB资料 圖面背景透明的技巧-VB资料 退出并关闭 Windows-VB资料 托盘程序详解(二) -VB资料 托盘程序详解(一) -VB资料 我怎样确定我的程序是否在运行?-VB资料 无重复随机数序列产生器 -VB资料 显示打开方式对话框建立文件的关联 -VB资料 显示动画鼠标图标-VB资料 修复VB5启动时可能出现的一个bug 修改IE的环境菜单-VB资料 修改安装向导生成的缺省安装目录 -VB资料 修改屏保口令 -VB资料 修改屏幕保护的口令 -VB资料 旋转字体 -VB资料 延时函数-VB资料 一个关于乘法溢出问题的探讨 -VB资料 一组VB实用小程序 大哥们,能否告诉小弟,在 ms sql server2000中如何修改 sa 用户的口令.. 作为初学者,每天的问题太多了?帮我看一下下面的小问题 我上午53,下午58.该不会下马吧????/我相知道什么时候才能知道是否已经Pass,什么时候下证? 有关DELPHI6中使用SKINENGINE??? C++ Builder中多国语言的问题 在哪下载到Exchange 2000 Server Resource Kit? 快捷方式损坏怎样修复? bluesky069(菜鸟一族)你帮助我把那个PBL放到蛛蛛的信箱好不好呢?让大家都可以下在的! 请问哪里有w32dsm.exe的教程??? 潘译<>印刷错误百出,令人不忍卒读... LISTBOX的问题?请高手帮忙!!高分向送! 帮我想想这个主键该怎么建SQL SERVER7 如何将控件,恢复init()到初始状态 急救:装有SCO UNIX的硬盘克隆后不能启动系统,怎么办? 如何在FTP的目录下再新建目录?我初学网络编程, 怎样设置ScrollView中的ScrollBar不可见? 有关comboBox问题??????急!急!!! 有那位朋友对ADO控件调用T-SQL的链接服务器或存储过程的命令有所了解,或知道怎样取链接服务器的相关信息 真诚的向大家请教一个问题!!先谢谢了 redhat linux7.2安装完成后,怎么没有工具栏 已知manager是employee的子类,那么这么写Employee epy=new Manager()为什么合法? 第五次提出这个问题:如何通过DELPHI调用SQL SERVER 过程向SQL SERVER 存入图象。 为什么我在新闻聚焦中发表不了评论? 在VB里怎样用ADO存贮Access的Memo型字段? 誰有在PB下用powersock做的聊天程序? SQL的好书是什么呀?难道就没有人有体会? vb怎样格式化硬盘?? 做个《曹操传》之类的游戏需要多少投资? 关于sfc(系统文件扫描)的问题 高分求解,大虾请进 买了java程序员大本营的请进!!!! 请大家陈说学msce的前途 如何使用ProgressBar casting在java中是什么意思啊? querymode 查询器不稳定吧? 各位兄弟姐妹,在长沙拿3K是个什么水平,和沿海比怎么样,还需不需要跳槽? 想知道用程序免费发手机短信吗? 请问各位软友哪里有介绍C++Builder控件属性,方法和事件的资料。 高分相赠!!!求解我爱背单词2001共享版注册码!!! 我的XP不能上网了,添加163连接最后总说无法更新通讯簿,不能成功 如何添加纪录? 想学如何用程序发手机短信吗? 请问过滤条件filter怎么用?? 使用微软SQL Server的Select时,怎么写才能检索从N条-M条的记录(也就是说直接检索,而不是全部检索后取其中的一部分.) 如何通过程序得到系统的所有热键。谢您了。 关于CSICO防火墙515-R的问题?急 想知道在程序中如何发手机短消息吗? 求助在VC中怎样用串口控件MSComm1??(我在VB和DELPHI中用过,但不知道在VC中怎样用) 怎么给char months[12][4]赋值...... 哪里有xml spy的中文参考书 安装VisualAge for Java 出错(很急呀!!!) 五点作图法 几何作图法 java中怎样绘制正弦函数图象?原题:在文本框中输入函数y=sin(ax)中a的值,点击draw按钮画出函数图形.求大虾指点. 400米95铝电缆电压降有多少啊 3相4线120平方电缆1米多重? 正弦函数高一数学 三角函数五点作图法横坐标点问题比如2sin(2x+π/3)横坐标点怎么确定?(⊙_⊙ 120平方300米铜电缆180千瓦能用么 一道高一数学题 有关正弦函数图象如图为f(x)=Asin(wx+y) (0,根3)(2π/3,0)w>0,0 三角函数五点 作图y=sin(x+∏/6)五点是什么啊?怎样得出来的?是y=sin(x+π/6) 具体的求点方法~ 120平方380电缆20米距离可多少千瓦中央空调用 一台发电机,输出的功率为8000KW,所用的输电线的电阻是15欧,当发电机的输电电压为100KV时.求导线上的电流,输电线上的损失的电压与电功率. 锰矿与锰铁有什么区别 煤焦化产生的黄烟是什么物质 1500千瓦功率,距离500米,电压380伏,需要用多大的五芯电缆? 硅锰和锰铁的区别在元素组成和含量上有无不一样? 五点法作图一定要先列表吗? 中国哪里盛产硅铁,锰铁回答的地方可以两者都盛产也可以单独盛产某一种(具体到某个省) 锰铁粉的含量怎么检测 2.5平方电线可以承受多少安培电流?同样,多少瓦的功率? 哪里可以出口锰铁我想出口大量锰铁,请问哪里可以办? 硅铁、锰铁、废料铁混合而成的材料好还是硬质合金好?具体有那些区别? 1平方的电线可以走几个安培的电流?同样1KW 大致走几个安培的电流? 锰铁是什么样的 400平方 电缆,380电压下能承受多大的电流,距离230米 270平方电缆可以承受1000安培的直流电流吗 什么是65锰铁? 五点法作图 第二小问 应该怎么取?是取括号里的为0,pi/2,pi…还是x高一数学三角函数 五点法作图 第二小问 应该怎么取?是取括号里的为0,pi/2,pi…还是x可是那个0,pi是什么的范围! 高炉喷煤热滞后现象是怎么回事? 三角函数图像中的五点作图法如果是y=sin(2x+6/π)的那五个点怎么求,要详细过程 铸造中用的 覆膜砂、硅铁、锰铁、蠕化剂、球化剂、硅钙、甲基硅油等 对人体的伤害?我早铸造厂上班,请问铸造厂中使用的覆膜砂、硅铁、锰铁、蠕化剂、球化剂、硅钙、甲基硅油等对人体 单片机delay函数延迟时间计算,delay(80);为什么是600us左右?函数定义void delay(unsigned int t){while(t--);}主函数中delay(80);为什么是600us左右? 三角函数f(x)=Sin(2x+2分之根号3)的五点法作图怎么求点 生铁,硅铁,锰铁的溶点是多少? 120平方毫米铜电缆承受多少安电流 三角函数画图的问题我知道sinA的图要用五点法来画,但是如果变成 2sin(A+2)之类的就不会画了,不知道要怎么列表,可以告诉我这类题要怎么列表画图吗? 铸造用锰铁如何检验 已知功率,电压怎么计算需要多少平方的电线的公式 高炉上料为什么是不连续的 放了一批矿或者焦炭总要隔断时间才上? 70平方规格的铝芯电线/缆 电流电压 反函数求法Y=1/X+1的反函数要有过程 怎么根据功率查电线规格 65锰铁的65是什么含义就是高碳锰铁65# 和高碳锰铁75#的数字表示什么意思? 120KW“电加热”要用多大的电缆线工程用电 ..最好有画图说明,某海岛上一个观察哨A在上午11时测得一轮船在海岛北偏东60度的C处,12时20分测得轮船在海岛北偏西60度的B处,十二时四十分轮船到达海岛正西方五千米的E港口,如果轮船始终 氮化锰铁是什么最好讲一下氮化锰铁研究现状. 串联电加热电缆主要在什么情况下使用? 已知f(1+cosx)=cos^2 x,求作函数f(x)的简图 三角函数 五点法 求φ 120KW用多大电缆 我有三个箱子 每个箱子大概是40KW 三个是120KW 每个箱子分用多大电缆!我都用220V电压不用380的··3个箱子都用220V的电压设备都是220V的.我现在跑了一根电缆4X70的铜芯电缆!不知 高炉冶炼主要技术经济指标有哪些 三角函数五点法怎样确定那五点? 总功率120KW,进线需要多少平方MM的电缆,又需要多少A的空气开关? 3. 高炉冶炼希望高效能,低消耗,产品质量好,请简要总结高炉强化冶炼有哪些手段,采用这些手段的科学依据 电缆压降具体计算,3*95+1*50电缆,传输1000米,电流按150A算,或者是3*70+1*35电缆,末端带一个160的变压器,变压器主要是解决压降问题,问变压器应该怎么选择,变压器后带一个75KW电机,4个5.5KW电机,变压 煤干馏→(箭头上下分别为Cao,电炉)可以得到乙炔吗煤干馏之后经过什么样的反应可以得到乙炔?条件有氧化钙和电炉 高炉冶炼铬铁的方法 一台200KW的电机 同样的负荷 用660V和1140V的电压电机线圈通过的电流一样大吗.电缆是400米 70平方毫米的我认为660和1140电机线圈通过的电流是同样大 可是为什么用660是电机温度有点高 用1140是 煤干馏→(箭头上下分别为Cao,电炉)可以得到乙炔吗煤干馏之后经过什么样的反应可以得到乙炔?条件有氧化钙和电炉08上海高考化学第28题 高一数学正弦函数的图像与性质 寻一种的橡胶绝缘电缆线!电缆线能过的电压220V,电流150A!多股单芯的电缆线!隔离变压器变出来的是220V,再加个电阻箱,调一下电阻,150A不就出来了!要安全可靠,还得不能用硬线!麻烦!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn