我有以下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#中做同样的事情,
答案 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并提供(工作)示例。