最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ASP.NET中利用WebClient上传图片到远程服务的方法
时间:2017-01-17 编辑:简简单单 来源:一聚教程网
一、客户端
1.页面
代码如下 | 复制代码 |
|
2.后台
代码如下 | 复制代码 |
System.Web.HttpFileCollection oFiles = System.Web.HttpContext.Current.Request.Files; stringFilePath = oFiles[0].FileName; stringFileName = FilePath.Substring(FilePath.LastIndexOf("\\") + 1); byte[] b =newbyte[oFiles[0].ContentLength]; System.IO.Stream fs = (System.IO.Stream)oFiles[0].InputStream; fs.Read(b, 0, oFiles[0].ContentLength); stringpostData ="data="+ HttpUtility.UrlEncode(Convert.ToBase64String(b)); var webclient =newWebClient(); 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); |
二、服务端
代码如下 | 复制代码 |
stringmsg =""; byte[] filedata = Convert.FromBase64String(context.Request["data"]); if(filedata.Length == 0) { msg="{\"code\":\"上传的是空文件\"}"; } if(filedata.Length > 1048576) { msg ="{\"code\":\"图片大小不能超过1M\"}"; } stringfileextension = filedata[0].ToString() + filedata[1].ToString(); if(fileextension =="7173") { fileextension ="gif"; } elseif(fileextension =="255216") { fileextension ="jpg"; } elseif(fileextension =="13780") { fileextension ="png"; } elseif(fileextension =="6677") { fileextension ="bmp"; } elseif(fileextension =="7373") { fileextension ="tif"; } else { msg ="{\"code\":\"上传的文件不是图片\"}"; } try { //保存图片 stringfilename = Guid.NewGuid().ToString("D") +"."+ fileextension; System.IO.MemoryStream ms =newSystem.IO.MemoryStream(filedata); System.IO.FileStream fs =newSystem.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 +"\"}"; } |
-
上一个: C语言数据结构 链表与归并排序实例详解
-
下一个: C++ MD5的源码实例详解
相关文章
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10
- .NET使用YARP通过编码方式配置域名转发实现反向代理教程 10-10