如何在POST请求中传递图像?

时间:2016-11-13 10:55:52

标签: c# .net

我学习一个站点的API,我需要传递像post请求的图像。 这是我的代码:

    var bytes = File.ReadAllBytes(@"C:\Users\Name\Desktop\test\myImage.jpg");
    var str = Encoding.Default.GetString(bytes, 0, bytes.Length);
    Post(uri, GetParams("file", str));

    private static string Post(string uri, NameValueCollection parameters)
        {
            using (var client = new WebClient())
            {
                var response = client.UploadValues(uri, parameters);

                return Encoding.Default.GetString(response);
            }
        }
   private static NameValueCollection GetParams(params string[] param)
        {
            var result = new NameValueCollection();
            if (param.Length % 2 != 0)
                return result;
            for (int i = 0; i < param.Length; i += 2)
                result[param[i]] = param[i + 1];
            return result;
        }

我从未使用过API来传递某些文件,也许这样做错了?我使用simle参数的方法,也许我必须将图像传递给其他人?

1 个答案:

答案 0 :(得分:0)

       using (var client = new WebClient())
            {
                var response = client.UploadFile(apiUrl, @"C:\Users\User\Desktop\test\asd.jpg");
            }

它正在运作