当前位置:网站首页>C# 微信上传Form-data

C# 微信上传Form-data

2022-06-11 07:39:00 千金少

微信小程序审核有时候要做图片上传验证 使用的还是from-data格式,非常的坑爹

官方文档讲的一点也不清楚

请求地址:

https://api.weixin.qq.com/wxa/uploadmedia?access_token=ACCESS_TOKEN

这里有几个坑爹的地方在做上传的时候,经常会报errmsg=media data missing rid: 629f1365-2b583ac9-3f11b616,经过一下午的测试后终于找出了原因。httpClient会自动将boundary自动加上双引号,导致调用失败。所以需要手动处理掉
 

 

最后直接附上C#上传的代码

        public async Task<string> AccessFormData(string url, HttpPostedFileBase file, string key)
        {
            var httpClient = new HttpClient();
            var content = new MultipartFormDataContent();
            var boundaryValue = content.Headers.ContentType.Parameters.Single(p => p.Name == "boundary");
            boundaryValue.Value = boundaryValue.Value.Replace("\"", string.Empty);
            if (file?.InputStream != null)
            {
                content.Add(new StreamContent(file.InputStream, (int) file.InputStream.Length), $"\"{key}\"",
                    $"\"{file.FileName}\"");
                var response = await httpClient.PostAsync(url, content);
                return await response.Content.ReadAsStringAsync();
            }
            return string.Empty;
        }

这里的key就是那个media

原网站

版权声明
本文为[千金少]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_38436796/article/details/125169330