c# post文字图片至服务器
-
最近由于项目需要实现c#提交文字及数据至服务器,因此研究了一下c# php数据传送;
下面用一个示例来演示,c# post文字+图片 ,php端接收;
post提交数据核心代码(post数据提交)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475using 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{classpostClass{/// <summary>/// 向服务器post文字和图片/// </summary>///<param name="url">url///<param name="userName">用户名///<param name="userPwd">密码///<param name="jpegPath">头像地址/// <returns>返回服务器返回值</returns>publicstring post(string url,string userName, string userPwd, string jpegPath){//将图片转化为byte[]再转化为stringstring 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 =newStreamReader(stream, Encoding.GetEncoding(utf-8));//获得返回值string result = streamReader.ReadToEnd();stream.Close();#endregion//将服务器返回值返回returnresult;}/// <summary>/// 图片转为Byte字节数组/// </summary>///<param name="FilePath">路径/// <returns>字节数组</returns>privatebyte[] imageToByteArray(string FilePath){using (MemoryStream ms =newMemoryStream()){using (Image imageIn = Image.FromFile(FilePath)){using (Bitmap bmp =newBitmap(imageIn)){bmp.Save(ms, imageIn.RawFormat);}}returnms.ToArray();}}}}一、c#客户端
为了方便说明,我直接简化了,一个提交按钮就好了。

二、需要提交的图片
该图片存放在俺的E盘根目录下面~~~~~(贴吧随便抓的一张图片)
path = @E:head.jpg;

三、php服务端
接收图片后存放至,path = @C:Loginlog;
附录:
c#端代码:
c#界面简单代码~~~~~(该代码可略过~~~~~)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950using 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{publicpartialclasspostFrom : Form{publicpostFrom(){InitializeComponent();}/// <summary>/// 提交按钮,提交post数据/// </summary>///<param name="sender">///<param name="e">privatevoidbtnpost_Click(object sender, EventArgs e){//postClass为数据提交类postClass ps =newpostClass();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(登陆成功.);}elseif(value.Contains(0)){MessageBox.Show(登陆失败.);}else{MessageBox.Show(未知错误.);}}}}
c# post文字图片至服务器的更多相关文章
- HttpClient4的使用,模拟浏览器登陆新浪微博,发表微博和文字+图片微博
HttpClient4,最原始的需求就是使用其来模拟浏览器想服务器发起http请求,当然,他的功能不止于此,但是我需要的就是这个功能而已,jdk也有其自带的类似的api:UrlConnection,效 ...
- navigation和tabbar上的文字.图片 自定义
[[UITabBarItem appearance] setTitleTextAttributes:@{ UITextAttributeTextColor : [UIColor blackColor] ...
- java生成竖排文字图片
package com.kadang.designer.web.action;import java.awt.Color;import java.awt.Font;import java.awt.Fo ...
- jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码
jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...
- 透明窗口(窗口上面文字图片等内容不透明)的实现(使用SetLayeredWindowAttributes API函数)
透明窗口(窗口上面文字图片等内容不透明)的实现 本文讨论通过SetLayeredWindowAttributes来实现本文的目的. SetLayeredWindowAttributes的实现必须将窗口 ...
- <转载>使CSS文字图片div元素居中方法之水平居中的几个方法
文字居中,文字垂直居中水平居中,图片居中,图片水平居中垂直居中,块元素垂直居中?当我们在做前端开发是时候关于css居中的问题是很常见的.情 况有很多种,不同的情况又有不同的解决方式.水平居中的方式解决 ...
- 使用multer搭建一个图片接收服务器
为了测试图片上传插件的上传功能是否好用,最近尝试搭建了一个接收图片的服务器,因为图片上传的编码格式是form-data,所以我选择使用express+multer,实现过程中发现有几个需要注意的地方, ...
- iOS Button 上文字图片位置的设置
1. 添加图片+文字/文字+图片 ,不分前后,图片默认在文字前边 加空格隔开 UIButton * button =[[UIButton alloc] initWithFrame:CGRectMake ...
- node环境使用multer搭建一个图片接收服务器
为了测试图片上传插件的上传功能是否好用,最近尝试搭建了一个接收图片的服务器,因为图片上传的编码格式是form-data,所以我选择使用express+multer,实现过程中发现有几个需要注意的地方, ...
随机推荐
- 利用 css 制作简单的提示框
在网页开发中,为了提高用户体验,经常会用到一些提示框来引导用户,这里分享下一些简单的提示框的制作 1.首先类似一个长方形右上角一个关闭按钮 这里用到的主要是一些定位的知识,运用relative和abs ...
- Java编程思想读书笔记--第14章类型信息
7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...
- There is no Action mapped for namespace [/] and action name [user] associated with context path
从c++转到java,初学struts,竟然碰到一个因写错单词而造成的错误,structs --> struts
- Poj/OpenJudge 1094 Sorting It All Out
1.链接地址: http://poj.org/problem?id=1094 http://bailian.openjudge.cn/practice/1094 2.题目: Sorting It Al ...
- jquery-easyui使用
1,闲来无事用了一下jquery-easyui,首先下载下来easyui,文件夹如图 2,将themes里面的东西整体拷贝,我是整体的,省的麻烦了 3,在在自己的vs里面新建一个mvc的项目(项目自己 ...
- 今日吐槽20151208.net服务器控件
正文 今天有个小任务是给页面添加一个搜索条件,复选框多选.因为页面都是服务器控件,我也只能用服务器控件配合了.然后给页面加了一个 CheckBoxList 控件.后台通过数据表加载数据. fore ...
- 怎样用sourceTree将自己本地的项目上传到github网站上
前言:GitHub 是基于 Git 的一个代码托管网站.开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码. 准备工作:1.github网站账号.2.sourceTree软件. 一.在g ...
- 网页frame引入实现全屏滚动,使用jquery实现浏览器兼容
近期做一个项目,其中有一个需求,就是网页中需要用frame引入页面并实现frame的全屏,在网上查了好多感觉方式都不尽相同,但是都不是介绍的很全面,浏览器的兼容也做的不好,自己总结了一些要点,需要的可 ...
- 添加数据时候获取自增的ID
create database dbDemo go use dbDemo go create table tdstudent { id int primary key identity(1,1), n ...
- LNMP1.2一键安装教程
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外 ...