使用C#将图像二进制文件上传到链接的API

时间:2019-03-01 15:32:16

标签: c# linkedin linkedin-api

我已经使用“ https://api.linkedin.com/v2/assets?action=registerUpload”创建了图片共享上传网址,并使用该上传网址尝试将图片上传至链接到的网站,但是我从API收到“错误请求400”错误,请在下面的代码段中找到,

 private void UploadImageToLinkedIn(string accessToken)
        {
            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
                client.DefaultRequestHeaders.Add("X-Restli-Protocol-Version", "2.0.0");
                byte[] imgBytes = System.IO.File.ReadAllBytes("D:\\work\\All_Photos\\1_full.jpg");

                using (MultipartFormDataContent fd = new MultipartFormDataContent())
                {
                    var fileContent = new ByteArrayContent(imgBytes);
                    fileContent.Headers.Add("Content-Type", "multipart/form-data");
                    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "1_full" };
                    fd.Add(fileContent);

                    string postingURL = "https://api.linkedin.com/mediaUpload/C4E22AQFg1jP-2n4Jog/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQLl5BnZw1Rk0wAAAWk5k9KsK.........";

                    var result = client.PostAsync(postingURL, fd).Result;
                }
            }
        }

我也尝试过邮递员,但没有运气。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

注册上传文件后,您可以使用上传网址将图片上传到LinkedIn。 1.内容类型应为应用程序/二进制 2.image路径应该是绝对路径。     例如:users / desktop / myimage.jpg 我使它可以卷曲。