【问题标题】:Programmatically direct to a specific HttpPost以编程方式定向到特定的 HttpPost
【发布时间】:2013-08-08 15:13:48
【问题描述】:

我有一个网络应用程序,我尝试在其中将发票下载到客户的会计系统。下载请求触发 HttpGet,它返回 PartialViewResult 以显示选择下载的发票数量和金额。当前的HttpPost 返回一个 FilePathResult,这是一个格式化的文件,客户端用于将发票导入系统。

我现在有一个客户希望通过 API 发送文件,该 API 会直接将发票导入他们的系统。这取代了返回文件的需要。

有没有办法让HttpGet 在PartialViewResult 页面上运行HttpPost FilePathResultHttpPost Void(不返回文件)而无需在PartialViewResult 页面上使用一堆jQuery IF 语句?

【问题讨论】:

  • 我的问题可能有误。我真正需要知道的是如何指定运行哪个 HttpPost?有没有办法说“当我点击提交时,我宁愿运行不返回任何内容而不是返回文件的帖子”。注意:我已经编写并正在运行代码来创建对 API 的 webrequest,并且工作正常,返回一个包含错误报告的文本文件(如果有)。我试图避免为该客户端返回该错误文件,而是只想刷新页面(尽管这不是问题的一部分)。

标签: c# asp.net-mvc http-post


【解决方案1】:

您可以通过编程方式创建客户端来调用 Web 服务;在您的情况下,您可以执行以下操作:

var req = WebRequest.Create("http://someurl");
req.Method = "POST";
WritePostDataToStream(yourdatafile, req.GetRequestStream())

您需要编写方法WritePostDataToStream(),您将在其中将字节写入流。

您将使用 req.GetResponse() 完成,它会完成请求并获取响应。

【讨论】:

  • 使用HttpClient;好多了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
相关资源
最近更新 更多