一个关于 HttpWebRequest post 数据的问题
byte[] PicByte = GetPictureData(APIImage); // 这个是 图片数据
下面是PicByte 数据的组成方式
/// 得到图片的 二进制数据
/// </summary>
/// <param name="imagepath"></param>
/// <returns></returns>
public static byte[] GetPictureData(string imagepath)
{
/**/
////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);
//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}
bodyBytes 数据组成方式
string body = "Key=8bb901614c59d36ef11019e5ebc54ff7
&Secret=8bb901614c59d36ef11019e5ebc54ff7";
byte[] bodyBytes = Encoding.UTF8.GetBytes(body);
byte[] bodyBytes = Encoding.UTF8.GetBytes(body); //这个是 String 数据
下面是我自己写的 post , 老出错
HttpWebRequest getAccessRequest = WebRequest.Create(APIUrl) as HttpWebRequest;
//APIUrl是post线上api
getAccessRequest.Timeout = 30000;//30秒连接不成功就中断
getAccessRequest.Method = "post";
Stream requestStream = getAccessRequest.GetRequestStream();
requestStream.Write(bodyBytes, 0, bodyBytes.Length);
requestStream.Write(PicByte, 0, PicByte.Length);
//?? 我该怎么把 图片和字符串融合起来 post 给 api
HttpWebResponse response = getAccessRequest.GetResponse() as HttpWebResponse;
//这里报400错误 ,就是图片这个参数错误
** 网上是有多个字符串实现的post示例 , 可是我的是 图片的data数据和字符串的data数据 ? 求大神给予帮助 小弟谢谢了 !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
执行带文件上传的HTTP POST请求。
https://baidupcs.svn.codeplex.com/svn/src/BaiduSdk/BaiduSdk/Util/WebUtils.cs
https://baidupcs.svn.codeplex.com/svn/src/BaiduSdk/BaiduSdk/Util/FileItem.cs