一个关于 HttpWebRequest post 数据的问题

发布于 2022-09-01 17:19:05 字数 1528 浏览 18 评论 0

  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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文