【发布时间】:2015-09-20 10:47:26
【问题描述】:
我试图在 C# 中复制以下 curl 功能,但无济于事。我收到 C# 代码返回的错误请求。 .NET 代码需要复制 curl 文件附件/上传功能。我将不胜感激。
"curl.exe" -F "attachment=@c:\data\img.jpg" "example.com"
public static async void Post(string fileName)
{
string url = "example.com";
var stream = new FileStream(fileName, FileMode.Open);
string name = Path.GetFileName(fileName);
var client = new HttpClient { Timeout = TimeSpan.FromMinutes(10) };
var streamContent = new StreamContent(stream);
streamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
streamContent.Headers.ContentDisposition.Name = "\"file\"";
streamContent.Headers.ContentDisposition.FileName = "\"" + name + "\"";
streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
var content = new MultipartFormDataContent { streamContent };
HttpResponseMessage message = await client.PostAsync(url, content);
string s = await message.Content.ReadAsStringAsync();
}
【问题讨论】:
-
能否请您提供您收到的确切错误消息?
-
错误格式错误来自我发布到的服务本身。它似乎发布了数据,但我的代码显然没有做与 curl 调用相同的事情。
标签: c# curl upload dotnet-httpclient