c# - 如何在 Post - C# 中使用 RestClient 传递 Xml 文件?
问题描述
我正在尝试使用 RestSharp 将 xml 文件传递给 api,但我在 Post 方法中接收到的文件为空。
这是我的代码:
public void SendXmlToApi()
{
var client = new RestClient(_uri);
var request = new RestRequest(Method.POST);
request.AddFile("Xml",XmlPath);
request.RequestFormat = DataFormat.Xml;
request.AddHeader("content-type", "application/xml");
var response = client.Execute(request);
bool res = (response.StatusCode == HttpStatusCode.OK);
}
还有我的帖子功能:
[HttpPost]
[Route("Test")]
public void UpdateResult(XDocument a)
{
}
知道有什么问题吗?
解决方案
我不使用 XML,因此这与您的示例略有不同,但将 XML 发布到 [HttpPost] API 端点是一个可行的选择。我使用了您的SendXmlToApi()
示例(仅提供了我自己的_uri
和XmpPath
变量)并且成功(Core 3.1)。
我将您的接收代码修改为:
[HttpPost]
[Route("test")]
public async Task UpdateResult()
{
string body = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
XDocument xdoc = XDocument.Parse(body);
}
当然,您会希望在此设置防护栏并进行适当的错误处理和验证,但这应该可以帮助您克服困难。
推荐阅读
- html - 没有标签的html中写纯文本是否合适?
- function - 在复制 LabView VI 时寻求帮助 - 更改输入时图形出现错误
- nginx - 大型网站 Walmart、Amazaon、Ticketmaster、Verizon 等不包含 contentSecurityPolicy 是否有原因?
- javascript - 使用javascript暂停/播放计时器
- android - 如何在发布版本中运行片段测试?
- java - 为什么我不能将数据添加到 Firestore 数据库中?
- sql - 基于年份SQL动态过滤最近两年数据
- javascript - 如何从窗口访问类函数?
- powershell - 在 Powershell 中搜索和更新自定义对象成员的值
- django - 包含不同类型字段的 Django 表单