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

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

 

 

 

Xcode 7 beta发布,Swift 2.0带来哪些新变化? 【有奖征集】MDCC 2015演讲议题征集全面启动 Swift语言那些鲜为人知的特性 《开源者说》08期:聊聊Java那些事儿 专访唐成:从小工到专家,PostgreSQL的修炼之道 《瞬间之美》作者Robert Hoekman Jr:如何成长为UX领袖人物? TIOBE 2015年6月编程语言排行榜:Swift份额上升,Objective-C成自由落体 【CTO讲堂】Box首位华人核心工程师的回国创业之路 【探秘ES6】系列专栏:ES6简介 专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活 【探秘ES6】系列专栏:迭代器和for-of循环 【CTO讲堂】UCloud联合创始人兼CTO莫显峰:如何成长为技术合伙人? 【探秘ES6】系列专栏:生成器 iKair转型传感器及SaaS厂商,发布Maxense平台与9款“云传感器” 免费jQuery幻灯片图片轮播插件Galleriffic的使用方法 专访IBM中国研究院院长沈晓卫博士:全新的物联网来了 《近匠》GYENNO CEO任康:用“勺子”敲开一片新市场 Horde3D——基于C++编写的3D渲染引擎 Maker Faire 2015在深圳正式开幕,关注创客生态系统 Arduino与Seeed Studio达成战略合作——专访Arduino联合创始人Massimo Banzi 免费开源的Bootstrap富文本编辑器bootstrap-wysiwyg使用方法 CCAI2015:首届中国人工智能大会将于7月26-27日在京举行 拥抱互联网+ 用友NC6助力集团企业蜕变数据驱动型公司 《近匠》融云,自主研发真正“不丢消息”的IM云服务 【CTO讲堂】听云CTO Wood:APM实现原理及对IT和产品运营的价值 从7个维度浅析虚拟现实Alpha年 Maker Faire上的微软:将技术与工具带给Maker才是关键 友盟2015年Q1移动互联网报告:车联网App崛起 多面编程语言Scala NEC高可用集群软件EXPRESSCLUSTER X3.3面向中国市场正式发布 【探秘ES6】系列专栏:模版字符串 怎样将msn的email用outlook express收到本地! 请告知msn的 pop smtp服务器 如何动态画出函数的图象? 高分求教,我爱上了兄弟的女朋友,我该怎么办? (100分) 有创意的T恤~~ Transaction not connected! 高分求教,我爱上了兄弟的女朋友,我该怎么办? (100分) 高手求救 aspnetnemu注册吗 陨落雕老弟昨日开始中考,祝福他,放分! installshield打包时可以加入密码吗? 救命! 怎么在WM_DRAWITEM自画LISTVIEW? 有关txt文件操作的问题? 一个很奇怪的问题,高手请看, 马上给分 那里有更多的skinengine换肤文件? 奇怪的问题,高手请看,马上给分! 怎样给一个OLE控件其内置的事件编写脚本? 请问各位能否将一个VF的数据库方便的转为ACCESS数据库 如何关联一个扩展名到我的程序? 我有一个备注memo的字段,想更新?如何进行? www.ipowerweb.com 的主机怎么样? 高数、线性代数与程序员!!! Sworddx,补分给你 怎么做定时 这个listctrl问题怎么老没有人回答我?????? TQuery为什么没有这个属性? 哥哥们 ,谁能帮我? 高分,谁有奇域外挂? 急急!!winsock 在网速特别慢的时候,发送与发送之间有一个等待时间,这个时间是不一样的!!! 关于表单的先后顺序 万分火急,关于authorware的? 关于用ASP调用SQL 数据库存储过程的问题!高手帮忙 提议:共同作个小项目 急需解决字符串中的千位分割符去除的问题?在线等 修改客户端资料 AUTOCAD2002的授权号在哪里弄呀?? 网站首页跳出一个小广告或者通知的网页大小 初来乍到 怎么才能让DATA控件支持ACCESS2000? 可否推荐几个对考系分有帮助的网站?先谢了。 初学者的问题 项目开发:select,insert,等要不要直接写在程序事件里面,还是要用DW做操作?? 翻一次页需要80秒,有什么好办法提高效率? 将灵魂出卖给Microsoft?还是选择Sun One? 昨天在公车上目睹……(亲身经历) 用什么样的报表、表格控件好呢? 如何插入一个memo备注字段的纪录 ole字段相互负值,该怎样写呢? 关于delphi局部结构变量,初始化问题。这事儿说起来很惭愧。。。。 中软的叫我去作软件外包,请问给为老大我该去吗 为什么不能访问http://www.apache.org/了? 组成八条四字成语铁 山高水长证如论大篇鸣鸡功心悦狗木行赏目盗若呆口瞪 世界首付是谁啊 五年级趣味图形题要简便的 那个叫摩擦网的摩擦的社交软件,它怎么样?好像很火啊! 用放,山,高,水,长,虎,归,论,大,篇,阔,海,功,心,悦,人,天,行,赏,目,空,山,人,无,中,这些字组成八个成语,并每一个字都不重复. 壶赛道不平的冰面有助于高水平的运动员打出________球 请你从“放”开始,使它们成为八个成语:放、山、高、水、长、虎、归、论大、篇、阔、海、功、心、悦、天、人、行、赏、目、空、山、人、无、中. 现在世界上谁是首付 《第一场雪》表达了作者对第一场雪得喜爱之情,为了表达这种情感,作者引用了一些俗语,如:俗话说:“_______________.”还有谚语:“___________________.” 放山高水长虎归论大篇阔海,功心悦天人行赏目空山人无中(用上面的字组成10个四字成语) hating your 英语影片简介翻译美国西部巴尔的摩,老牛仔Moss(Josh Brolin 饰)在猎杀羚羊时偶然发现几具尸体,一个深受重伤即将渴死的人,一车厢海洛因和高达200万的现金——很明显,这是黑帮火拼同归于 次日达什么意思我的快件说是次日达,结果几天都没有到达这里啊?已经6、7天了我可以要求快递公司赔偿嘛? 关于民间艺术的作文 今天晚上十点才会知道结果的翻译 第一场雪的阅读答案是飘飘洒洒开头的 民间工艺作文300字民间工艺作文285字 韭王是怎么种的 韭王和韭菜有关系吗 你爱的女人叫你谢谢你 刘大哥是什么意思 求写民间艺术的文章(多一点) today 怎么读,最好用中文翻译! 竟日 次日 明日 他日什么意思? 阕,诗词里指的是什么? 10月12日月全食现在出现了 9点到次日一点是什么意思 唐诗宋词元是啥 我的妈妈:也为自己抚平心灵上的伤口(伤口什么意思 第一场雪课后习题解答快 今晚就要 快急 3Q1.讨论:课文是怎样把这场雪的“大”写出来的?从哪些语句可以感受到作者的喜悦之情?2.抄写好的语句,并说说好在哪里.3.收集有关资料,结合课文内 我们应该怎样宋濂的学习态度和从师尊师方式 作文:心灵深处的创伤(紧急)要求600字左右 “少年别有赠,含笑看吴钩”这句的解释和含义出自杜甫《后出塞五首》 当代中学生怎么样看待宋濂的这种学习态度和从师尊师方式,从反面角度说 描写南丁格尔的句子今晚就要, 捕鱼机的断机时间是什么意思 宋濂和杨时都很尊重老师,两人尊师的表现有何共同之处? 五花马,千金裘 眼底吴钩看不休, 善意的谎言作文,记叙文,字数600字到700字! 五花马,千金裘的下面两句是什么? 放山高水长 虎归论大篇 阔海功心月 天人行赏目 空山人无中 从放开始,经过格子里所有字.竖着.要组8个成语 请问2013年有日全食吗? 五花马,千金裘,呼儿将出换美酒,与尔同消万古愁.简单点不要说的太烦琐! 山高水长是成语吗?它是表现人物品质的吗?是表现什么品质的? 作者在老师面前毕恭毕敬,不敢出言,你如何看待这种从师尊师方式 五花马千金裘是谁的是主人的还是李白的 I like your four words I hate 若个书生万户侯?改为陈述句 平面向量Am=(m,1),Bn=(2,n),其中m,n属于{1,2,3,4},请列出有序数组(m,n)的所有可能可能不用列了我想问这一问,使得向量am⊥(向量am-向量bm)成立的(m,n)记为事件A,求其发生的概率. 南丁格尔 人物介绍马上就要! 天下谁与付吴钩, 男儿何不带吴钩,若个书生万户侯若用陈述句表达应是什么 圆体字怎么写才好看 放.山.高.水.长 虎.归.论.大.篇 阔.海.功.心.悦 天.人.行.赏.目 空.山.人.无.中放.山.高.水.长虎.归.论.大.篇阔.海.功.心.悦天.人.行.赏.目空.山.人.无.中组八个成语.不重复 请君暂上凌烟阁,若个书生万户侯 译文 胶合木板的密度是多少? 英语翻译将军谈笑弯弓,秦王一怒击缶.天下谁与付吴钩?遍示群雄束手.昔时寇,尽王侯,空弦断翎何所求?铁马秋风人去后,书剑寂寥枉凝眸.昔有朝歌夜弦之高楼,上有倾城倾国之舞袖,燕赵少年游 南园 【唐】李贺 男儿何不带吴钩,收取关山五十州.请君暂上凌烟阁,若个书生万户侯.的欣赏和解释,谢南园 【唐】李贺 男儿何不带吴钩,收取关山五十州.请君暂上凌烟阁,若个书生万户侯. 怎样写一篇观察浸泡黄豆过程的日记 有谁知道放,山,高,水,长,虎,归,论,大,篇,阔,海,功,心,悦,天,人,行,赏,目,空,山,人,无,中这25个字怎么样能组成8组成语谢谢 男儿何不带吴钩,收取关山十五州,请君再上凌烟阁,若个书生万户侯修辞手法 商合杭高铁拿到准生证 安吉将结束不通杭州地铁3号线为啥比原先的规划短了十已婚男连续胸袭女同事遭解雇 自称“没国考报名结束平均70人争1个岗位 湖美国情报机构被爆监听35名国际政要电杭州推新能源交通 新能源车:年底再推美油轮在尼日利亚遇袭 两人被海盗劫为美国肯尼迪家族亲戚杀人案将重审 72男子路边停车酿惨剧 车上天窗夹死3岁国考报名昨结束 湖州邮政一个岗位33韩美官员会谈 争取明年上半年确定作战金正恩成马来西亚高校荣誉博士 为表彰法国与德国希望年底前就美国监听与美进北京:病人家属嫌120要价高 将急救杭州发现外来入侵物种福寿螺 对环境有墨西哥一糖果厂发生爆炸 至少40人受日媒:日本成俄罗斯牵制中国棋子欧亚经济最高理事会会议召开 乌克兰入澳大利亚军方为因自身失误造成森林大火德媒称攻击默克尔手机系攻击德国的政治法国与德国希望年底前就美国监听与美进《花自飘零》:留下时代的印记乌俄开始部长级磋商十二届全国人大二次会议在京开幕“三公”经费:公开不留死角规模只减不山西吕梁一男子因散布H7N9疫情谣言“怀上的可先留着”一条改革红线 贯穿九大任务(图)全国生姜价格创2010年以来新高六大数字标注改革“硬任务”跟团出行看资质 自助游多留心现场搜救结束已经恢复通车“话术”手册成行骗秘籍“炒股大师”骗山西志愿者队伍现状调查跟团旅游看资质自助游多留心普京、斯诺登获诺贝尔和平奖提名83岁老专家寒风中义诊(图)省城建设路快速化改造方案出炉两年没淘的化粪池终于清理了!社区倡议无偿献血居民积极响应(图)山西志愿者队伍现状调查(图)8大“新鲜词”传递哪些施政信号
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘