c# post文字图片至服务器_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > c# post文字图片至服务器

c# post文字图片至服务器

 2014/12/15 19:25:57  r163  程序员俱乐部  我要评论(0)
  • 摘要:最近由于项目需要实现c#提交文字及数据至服务器,因此研究了一下c#php数据传送;下面用一个示例来演示,c#post文字+图片,php端接收;post提交数据核心代码(post数据提交)?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475usingSystem
  • 标签:C# 图片 服务器 服务
class="box_body">

最近由于项目需要实现c#提交文字及数据至服务器,因此研究了一下c# php数据传送;

下面用一个示例来演示,c# post文字+图片 ,php端接收;

 

post提交数据核心代码(post数据提交)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Drawing; using System.Web; using System.Net;   namespace postpic {     class postClass     {         /// <summary>         /// 向服务器post文字和图片         /// </summary>         ///<param name="url">url         ///<param name="userName">用户名         ///<param name="userPwd">密码         ///<param name="jpegPath">头像地址         /// <returns>返回服务器返回值</returns>         public string post(string url,string userName, string userPwd, string jpegPath)         {             //将图片转化为byte[]再转化为string             string array = Convert.ToBase64String(imageToByteArray(jpegPath));             //构造post提交字段             string para = name=+userName+&pwd=+userPwd+&head=+HttpUtility.UrlEncode(array);                     #region HttpWebRequest写法               HttpWebRequest httpWeb = (HttpWebRequest)WebRequest.Create(url);             httpWeb.Timeout = 20000;             httpWeb.Method = POST;             httpWeb.ContentType = application/x-www-form-urlencoded;             byte[] bytePara = Encoding.ASCII.GetBytes(para);             using (Stream reqStream = httpWeb.GetRequestStream())             {                 //提交数据                 reqStream.Write(bytePara, 0, para.Length);             }             //获取服务器返回值             HttpWebResponse httpWebResponse = (HttpWebResponse)httpWeb.GetResponse();             Stream stream = httpWebResponse.GetResponseStream();             StreamReader streamReader = new StreamReader(stream, Encoding.GetEncoding(utf-8));             //获得返回值             string result = streamReader.ReadToEnd();             stream.Close();               #endregion             //将服务器返回值返回             return result;         }           /// <summary>         /// 图片转为Byte字节数组         /// </summary>         ///<param name="FilePath">路径         /// <returns>字节数组</returns>         private byte[] imageToByteArray(string FilePath)         {             using (MemoryStream ms = new MemoryStream())             {                 using (Image imageIn = Image.FromFile(FilePath))                 {                     using (Bitmap bmp = new Bitmap(imageIn))                     {                         bmp.Save(ms, imageIn.RawFormat);                     }                 }                 return ms.ToArray();             }         }     }       }

一、c#客户端

为了方便说明,我直接简化了,一个提交按钮就好了。

data-cke-saved-src=/Upload/Images/2014121519/6393EBC8DE4EAB18.png

 

二、需要提交的图片

该图片存放在俺的E盘根目录下面~~~~~(贴吧随便抓的一张图片)

path = @E:head.jpg;

data-cke-saved-src=http://www.2cto.com/uploadfile/Coll<a href=files/20141206/20141206085359119.jpg" data-am-width="560" data-am-height="560" />

 

三、php服务端

接收图片后存放至,path = @C:Loginlog;

 

附录:

c#端代码:

c#界面简单代码~~~~~(该代码可略过~~~~~)

 

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;   namespace postpic {     public partial class postFrom : Form     {         public postFrom()         {             InitializeComponent();         }         /// <summary>         /// 提交按钮,提交post数据         /// </summary>         ///<param name="sender">         ///<param name="e">         private void btnpost_Click(object sender, EventArgs e)         {             //postClass为数据提交类             postClass ps = new postClass();             string url = @http://localhost/login.php;             string name = DooZn;             string pwd = a12345;             string jpegPath = @E:head.jpg;               //提交数据             string value = ps.post(url,name,pwd,jpegPath);               //value为服务器返回值             if (value.Contains(1))             {                 MessageBox.Show(登陆成功.);             }             else if (value.Contains(0))             {                 MessageBox.Show(登陆失败.);             }             else             {                 MessageBox.Show(未知错误.);             }         }     } }

 

 

发表评论
用户名: 匿名