C# 向MultipartFormDataContent添加键值对
我正在尝试将一个文件和一些键值对上载到服务器 服务器的IT人员告诉我:“当我们的服务器接收到请求时,文件显示得很好,但是您的键值对中没有任何数据显示在请求中(正如ASP.Net解析的那样).我还没有确定到底发生了什么,但我怀疑它被隐藏在数据内容对象中,在内容对象的更深一层。” 下面是我正在使用的代码。如何将键值对“向上”移动?不幸的是,我不太善于交际C# 向MultipartFormDataContent添加键值对,c#,multipartform-data,C#,Multipartform Data,我正在尝试将一个文件和一些键值对上载到服务器 服务器的IT人员告诉我:“当我们的服务器接收到请求时,文件显示得很好,但是您的键值对中没有任何数据显示在请求中(正如ASP.Net解析的那样).我还没有确定到底发生了什么,但我怀疑它被隐藏在数据内容对象中,在内容对象的更深一层。” 下面是我正在使用的代码。如何将键值对“向上”移动?不幸的是,我不太善于交际 using (var content = new MultipartFormDataContent()) { var dataConten
using (var content = new MultipartFormDataContent())
{
var dataContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("Key1", "Value1"),
new KeyValuePair<string, string>("Key2", "Value2")
});
content.Add(dataContent);
using (var fileStream = File.OpenRead(filePathAndName))
using (var fileStreamContent = new StreamContent(fileStream))
{
fileStreamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
Name = "File",
FileName = Path.GetFileName(filePathAndName)
};
fileStreamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
content.Add(fileStreamContent);
using (var response = await client.PostAsync("api/datasets", content))
{
if (response.IsSuccessStatusCode)
{
Debug.WriteLine("Upload Success");
}
else
{
Debug.WriteLine("Upload Failed");
Debug.WriteLine("Response : " + response);
}
}
}
}
但是运气不好发现问题出在服务器端您的内容。添加(新的StringContent(“value”,“key1”)(键中没有附加引号)应该可以。你可以在这里找到一个例子:。我删除了额外的引号,但仍然没有运气。请提供更多详细信息,包括你当前代码的外观以及你得到的响应(状态代码、响应正文、异常?)谢谢你将此问题和代码留在网上:)
content.Add(new StringContent("Value1"), "\"Key1\"");
content.Add(new StringContent("Value2"), "\"Key2\"");