在c#中使用webrequest发布图片

时间:2014-03-19 06:52:59

标签: c# python .net

我有以下python代码如何通过webservice发布图片:

product_image = requests.post(
'https://client.planorama.com/tapi/v1/product_image/', 
data={ 'product_id': 1784682 }, 
files={ "file": open(my_image.jpg, 'rb') } 
)

任何人都可以帮我在C#中做同样的事情,

2 个答案:

答案 0 :(得分:0)

我们更喜欢python中的requests库。

您运行的是.NET 4还是4.5?如果是这样,请查看Joshcodes对Sending Files using HTTP POST in c#的回答 - 它使用的Microsoft.Net.Http .NET世界中最好的HTTP库。

更新:我还没有检查这个准确性,但它可能会是这样的:

static HttpResponseMessage UploadFileWithParam(string requestUri, string fileName, string key1, string val1)
{
    using (var client = new HttpClient())
    {
        using (var content = new MultipartFormDataContent())
        {
            content.Add(new StringContent(val1), key1);
            var fileContent = new StreamContent(File.OpenRead(fileName));
            fileContent.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
            {
                FileName = fileName
            };
            content.Add(fileContent);
            return client.PostAsync(requestUri, content).Result;
        }
    }
}

// UploadFileWithParam("http://example.com", @"c:\...", "param1", "value1").Dump();

答案 1 :(得分:0)

Multipart Form Post in C#包含一个简单的C#类,使用HttpWebRequest并提供(工作)示例。