ASP.NET中利用WebClient上传图片到远程服务的方法

发布时间 - 2026-01-10 22:31:21    点击率:

一、客户端

1.页面

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

2.后台

System.Web.HttpFileCollection oFiles = System.Web.HttpContext.Current.Request.Files;
   string FilePath = oFiles[0].FileName;
   string FileName = FilePath.Substring(FilePath.LastIndexOf("\\") + 1);
   byte[] b = new byte[oFiles[0].ContentLength];
   System.IO.Stream fs = (System.IO.Stream)oFiles[0].InputStream;
   fs.Read(b, 0, oFiles[0].ContentLength);
   string postData = "data=" + HttpUtility.UrlEncode(Convert.ToBase64String(b));
   var webclient = new WebClient();
   webclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
   byte[] byteArray = Encoding.UTF8.GetBytes(postData);
   //byte[] buffer = webclient.UploadData("http://localhost/datapush/DataPush.ashx", "POST", byteArray);//ashx
   byte[] buffer = webclient.UploadData("http://localhost/datapush/WebServiceDataPush.asmx/DataPush", "POST", byteArray);//asmx
   var msg = Encoding.UTF8.GetString(buffer);
   Response.Write(msg);

二、服务端

string msg = "";
   byte[] filedata = Convert.FromBase64String(context.Request["data"]);
   if (filedata.Length == 0)
   {
    msg= "{\"code\":\"上传的是空文件\"}";
   }
   if (filedata.Length > 1048576)
   {
    msg = "{\"code\":\"图片大小不能超过1M\"}";
   }
   string fileextension = filedata[0].ToString() + filedata[1].ToString();
   if (fileextension == "7173")
   {
    fileextension = "gif";
   }
   else if (fileextension == "255216")
   {
    fileextension = "jpg";
   }
   else if (fileextension == "13780")
   {
    fileextension = "png";
   }
   else if (fileextension == "6677")
   {
    fileextension = "bmp";
   }
   else if (fileextension == "7373")
   {
    fileextension = "tif";
   }
   else
   {
    msg = "{\"code\":\"上传的文件不是图片\"}";
   }
   try
   {
    //保存图片
    string filename = Guid.NewGuid().ToString("D") + "." + fileextension;
    System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
    System.IO.FileStream fs = new System.IO.FileStream(context.Server.MapPath("~/") + "/采集图片/" + filename, System.IO.FileMode.Create);
    ms.WriteTo(fs);
    ms.Close();
    fs.Close();
    fs = null;
    ms = null;
    msg = "{\"code\":\"上传图片成功\"}";
   }
   catch (Exception exe)
   {
    msg = "{\"code\":\"" + exe.Message + "\"}";
   }

以上所述是小编给大家介绍的ASP.NET中利用WebClient上传图片到远程服务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# asp.net  # webclient  # 上传  # 上传图片  # silverlight用webclient大文件上传的实例代码  # C# WebClient类用法实例  # C#中在WebClient中使用post发送数据实现方法  # Silverlight中同步调用WebClient的解决办法  # 是同步!  # 用WebClient.UploadData方法上载文件数据的方法  # 小编  # 的是  # 在此  # 给大家  # 所述  # 给我留言  # 服务端  # 感谢大家  # 客户端  # 疑问请  # 有任何  # Current  # HttpContext  # oFiles  # string  # FilePath  # Request  # Files 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  网站页面设计需要考虑到这些问题  如何在腾讯云服务器上快速搭建个人网站?  高防服务器租用如何选择配置与防御等级?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Android自定义控件实现温度旋转按钮效果  html如何与html链接_实现多个HTML页面互相链接【互相】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何获取PHP WAP自助建站系统源码?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何使用withoutEvents方法临时禁用模型事件  如何利用DOS批处理实现定时关机操作详解  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  *服务器网站为何频现安全漏洞?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Angular 表单中正确绑定输入值以确保提交与验证正常工作  用yum安装MySQLdb模块的步骤方法  三星、SK海力士获美批准:可向中国出口芯片制造设备  ,怎么在广州志愿者网站注册?  如何挑选优质建站一级代理提升网站排名?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  个人网站制作流程图片大全,个人网站如何注销?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何在阿里云虚拟服务器快速搭建网站?  Laravel如何使用Eloquent进行子查询  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  高端网站建设与定制开发一站式解决方案 中企动力  黑客如何利用漏洞与弱口令入侵网站服务器?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel中的Facade(门面)到底是什么原理  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?