int i=404 2019-03-20 17:20 采纳率: 100%
浏览 2244
已采纳

C# 通过URL调用接口6666666666666666666666666666666666666

图片说明
怎么调用这个接口
下面是我写的代码

    /// <summary>
    /// 添加图片
    /// </summary>
    /// <param name="fp"></param>
    /// <returns></returns>
    public static int AddPhoto(FacePhoto fp)
    {
        string MethodPath = ipPath + "/face/create";
        Encoding myEncoding = Encoding.GetEncoding("gb2312");  //选择编码字符集
        string data = "pass=admin12345&personId=" + fp.personId + "&faceId=\"\"&imgBase64=data:image/jpg;base64," + fp.imgBase64;
        byte[] bytesToPost = System.Text.Encoding.Default.GetBytes(data); //转换为bytes数据
        string responseResult = String.Empty;
        HttpWebRequest req = (HttpWebRequest)
        HttpWebRequest.Create(MethodPath);   //创建一个httprequest请求
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
        req.ContentLength = bytesToPost.Length;
        using (Stream reqStream = req.GetRequestStream())
        {
            reqStream.Write(bytesToPost, 0, bytesToPost.Length);     //调用
        }
        HttpWebResponse cnblogsRespone = (HttpWebResponse)req.GetResponse();
        if (cnblogsRespone != null && cnblogsRespone.StatusCode == HttpStatusCode.OK)
        {
            StreamReader sr;
            using (sr = new StreamReader(cnblogsRespone.GetResponseStream()))
            {
                responseResult = sr.ReadToEnd();  //获取返回值
            }
            sr.Close();
        }
        cnblogsRespone.Close();
        DataResult item = JsonConvert.DeserializeObject<DataResult>(responseResult);
        if (item.success)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }

    /// <summary>
    /// 图片转Base64
    /// </summary>
    /// <param name="Imagefilename"></param>
    /// <returns></returns>
    public static string ImgToBase64String(string Imagefilename)
    {
        try
        {
            Bitmap bmp = new Bitmap(Imagefilename);
            MemoryStream ms = new MemoryStream();
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] arr = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(arr, 0, (int)ms.Length);
            ms.Close();
            return Convert.ToBase64String(arr);
        }
        catch (Exception ex)
        {
            return null;
        }
    }

            调用返回java.lang.IllegalArgumentException: bad base-64
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-03-20 23:51
    关注

    bad base-64,说明你的base64编码有错误,或者参数的格式不对。我没有你的服务器没法帮你调试,你用fiddler自己抓包看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月11日

悬赏问题

  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决