一、客户端

1.页面

  1.   <form id="Form1" method="post" runat="server" enctype="multipart/form-data">
  2.     <input id="MyFile" type="file" runat="server" />
  3.     <br />
  4.     <br />
  5.     <asp:Button ID="Button1" runat="server" Text="上载文件" OnClick="Button1_Click"></asp:Button>
  6.   </form>

2.后台

  1. System.Web.HttpFileCollection oFiles = System.Web.HttpContext.Current.Request.Files;
  2. ].FileName;
  3. );
  4. ].ContentLength];
  5. System.IO.Stream fs = (System.IO.Stream)oFiles[].InputStream;
  6. fs.Read(b, , oFiles[].ContentLength);
  7. string postData = "data=" + HttpUtility.UrlEncode(Convert.ToBase64String(b));
  8. var webclient = new WebClient();
  9. webclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
  10. byte[] byteArray = Encoding.UTF8.GetBytes(postData);
  11. //byte[] buffer = webclient.UploadData("http://localhost/datapush/DataPush.ashx", "POST", byteArray);//ashx
  12. byte[] buffer = webclient.UploadData("http://localhost/datapush/WebServiceDataPush.asmx/DataPush", "POST", byteArray);//asmx
  13. var msg = Encoding.UTF8.GetString(buffer);
  14. Response.Write(msg);

二、服务端

  1. string msg = "";
  2. byte[] filedata = Convert.FromBase64String(context.Request["data"]);
  3. )
  4. {
  5. msg= "{\"code\":\"上传的是空文件\"}";
  6. }
  7. )
  8. {
  9. msg = "{\"code\":\"图片大小不能超过1M\"}";
  10. }
  11. ].ToString() + filedata[].ToString();
  12. ")
  13. {
  14. fileextension = "gif";
  15. }
  16. ")
  17. {
  18. fileextension = "jpg";
  19. }
  20. ")
  21. {
  22. fileextension = "png";
  23. }
  24. ")
  25. {
  26. fileextension = "bmp";
  27. }
  28. ")
  29. {
  30. fileextension = "tif";
  31. }
  32. else
  33. {
  34. msg = "{\"code\":\"上传的文件不是图片\"}";
  35. }
  36. try
  37. {
  38. //保存图片
  39. string filename = Guid.NewGuid().ToString("D") + "." + fileextension;
  40. System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
  41. System.IO.FileStream fs = new System.IO.FileStream(context.Server.MapPath("~/") + "/采集图片/" + filename, System.IO.FileMode.Create);
  42. ms.WriteTo(fs);
  43. ms.Close();
  44. fs.Close();
  45. fs = null;
  46. ms = null;
  47. msg = "{\"code\":\"上传图片成功\"}";
  48. }
  49. catch (Exception exe)
  50. {
  51. msg = "{\"code\":\"" + exe.Message + "\"}";
  52. }

转载于:https://www.cnblogs.com/zxtceq/p/10715824.html

[asp.net] 利用WebClient上传图片到远程服务相关推荐

  1. c#利用WebClient和WebRequest获取网页源代码的比较

    前几天举例分析了用asp+xmlhttp获取网页源代码的方法,但c#中一般是可以利用WebClient类和WebRequest类获取网页源代码.下面分别说明这两种方法的实现. WebClient类获取 ...

  2. SpringCloud03 Ribbon知识点、 Feign知识点、利用RestTemplate+Ribbon调用远程服务提供的资源、利用feign调用远程服务提供的资源、熔断...

    1 远程服务资源的调用 1.1 古老的套路 在微服务出现之前,所有的远程服务资源必须通过RestTemplate或者HttpClient进行:但是这两者仅仅实现了远程服务资源的调用,并未提供负载均衡实 ...

  3. layiim php图片上传,孤狼采集器利用PHP上传图片方式说明

    有的服务器不喜欢开启FTP,也不想图片远程调用,但又必须使用图片本地化,那么怎么办呢?软件更新了第二个功能:PHP上传图片方法. 首先,点击:下载位置,选择图片临时下载在电脑里的位置. 然后,输入替换 ...

  4. asp.net利用RAR实现文件压缩解压缩【月儿原创】

    asp.net利用RAR实现文件压缩解压缩 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.6.13 如果服务器上安装了RAR程 ...

  5. 利用WebClient类向服务器上载文件(转孟子的)

    利用WebClient类向服务器上载文件(转孟子的) 今天看了TERRYLEE老大的一篇写上传的.里面有个WEBCLIENT我就上网查了一下,找到孟子大人的一篇文章.感觉不错,就转了过来.大家一起学习 ...

  6. ASP中利用OWC控件实现图表功能详解[zz]

    ASP中利用OWC控件实现图表功能详解 在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图, ...

  7. ASP中利用OWC控件实现图表功能详解

    在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图,簇状柱型图,折线图的使用方法.OWC的更 ...

  8. asp.net怎么写上传图片到mysql的页面_【web安全】文件上传漏洞

    文件上传漏洞● 0x00 什么是文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力.利用上传漏洞可以直接得到WEBSHELL,危害等级超级高.上 ...

  9. 利用WebClient和WebRequest类获得网页源代码C#

    作者:不详       请速与本人联系 GetPageHtml.aspx <%@ Page language="c#" validateRequest = "fal ...

最新文章

  1. git 下载项目和更新项目(1)
  2. GDCM:gdcm::Command的测试程序
  3. ITK:将ITK灰度图像转换为CV :: Mat
  4. 『设计模式』80年代的人们就已经领悟了设计模式-- 发布者/订阅者模式 (包括发布者/订阅者模式和观察者模式的区别)
  5. datapump跨平台升级迁移的总结
  6. 什么?你还不知道Web Animations API
  7. PHP文件上传后缀名与文件类型对照表
  8. jar编译成exe可执行文件【图文教程】
  9. 在IDEA中实战Git-branch入门
  10. 【bozj2287】【[POJ Challenge]消失之物】维护多值递推
  11. 制作单机俄罗斯方块游戏心得(二)
  12. 【Java】随机姓名的生成
  13. MTCNN优化和另类用法
  14. sfp寄存器_一种基于Linux系统读写光模块寄存器的方法与流程
  15. IOS 编程初体验 第一篇:自学和培训的选择
  16. 传奇脚本显示服务器开区时间代码,GOM引擎该地图只限新区开放方法,传奇开区时设置老区不能进脚本...
  17. pandas安装完成后,报错:ImportError
  18. IOS8以上打开定位闪退的问题
  19. leetcode 2448
  20. H5企业网站模板:蓝绿过渡色功能菜单齐全企业网站模板

热门文章

  1. matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
  2. python循环结束执行后面代码_计算机程序中某种代码的反复执行,称为________。Python中的循环有重复一定次数的________,也有重复到某种情况结束的________。...
  3. Linux内核锁实现原理,linux 大内核锁原理
  4. java 英文字符串排序_英文字符串排序算法
  5. 女士细线毛衣起多少针_从起针到缝合,教你织毛衣的各种要点(详细教程)
  6. coreos 安装mysql_CoreOS 在 PC 上快速安装方法指南
  7. vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...
  8. linux里hba状态_Windows和Linux系统查看HBA卡wwn号的方法 | 系统之家官网
  9. 软件可靠性指标mtbf测试评估,软件可靠性评估.pdf
  10. linux系统有几个系统盘,linux操作系统的分区有哪些种类?各分区主要作用是什么?...