在ASP.NET MVC 5控制器中使用POST从dotnet Core Web API下载文件

欢乐8

我需要从dotnet Core Web API下载文件。控制器接受POST请求,如下所示:

    [HttpPost]
    [Route("api/pdf")]
    //[Consumes("application/octet-stream")]
    [Produces("application/pdf")]
    public IActionResult GetPDF([FromBody] ReportRequest request)
    {
       //report generation logic
       return new FileStreamResult(pdfMemoryStream, "application/pdf");
    }

我不确定如何从ASP.NET MVC 5控制器向此dotnet核心API控制器发送POST请求

我试过使用来获取模型的字节数组WebClient.UploadData(action, "POST", requestBytes);在哪里,但是API控制器拒绝它说requestBytesBinaryFormatter(406) Not Acceptable.

无论[Consumes("application/octet-stream")]在API控制器上发生这种情况

而且没有超载WebClient.UploadData允许发布JSON。

任何例子将不胜感激。

瓦希德·塔加里

将GetPdf方法更改为:

[Consumes("application/json")]
public IActionResult GetPDF([FromBody] ReportRequest request)
{
    //report generation logic
    return File(pdfMemoryStream.ToArray(), "application/pdf");
}

并使用HttpClient代替WebClient

var client = new HttpClient();
string url = "https://localhost:44398/api/values/GetPdf";
var reportRequest = new ReportRequest()
{
    Id = 1,
    Type = "Billing"
};
var json = JsonConvert.SerializeObject(reportRequest);
var data = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, data);
response.EnsureSuccessStatusCode();
var bytes = await response.Content.ReadAsByteArrayAsync();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

使用AngularJS从ASP.NET Web API方法下载文件

来自分类Dev

ASP.NET处理程序(ashx)与MVC控制器操作,用于下载文件

来自分类Dev

使用asp.net Web表单中的流返回可下载文件

来自分类Dev

使用asp.net mvc下载文件

来自分类Dev

使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

来自分类Dev

从ASP.net MVC 4 WEB API控制器返回byte []

来自分类Dev

asp.net mvc / web api 2-控制器接受JSON对象数组

来自分类Dev

使用MVC Core下载文件

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

为什么我的ASP.Net Core Web API控制器不返回XML?

来自分类Dev

ASP.NET Core 3.0 Web API-控制器方法未命中

来自分类Dev

从Blazor客户端应用程序从ASP.NET Core API下载文件

来自分类Dev

使用Blazor Webassembly和ASP.NET Core安全下载文件

来自分类Dev

使用asp.net mvc从Google Drive Api下载文件的问题

来自分类Dev

将文件从ASP.NET MVC 4.6应用程序发布到ASP.NET Core Web API

来自分类Dev

如何在ASP.NET Core Web API中使用相同数量的参数重载控制器方法?

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

使用asp.net mvc下载文件

来自分类Dev

从ASP.net MVC 4 WEB API控制器返回byte []

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

Asp.net MVC项目中的Angularjs调用Web API控制器

来自分类Dev

如何从控制器代码 asp.net mvc Core 调用 web url

来自分类Dev

如何在 ASP Net Core 中授权 Web API 控制器

来自分类Dev

如何正确配置模拟依赖项以使用 Autofac 测试 Web Api (ASP.NET Core) 控制器

来自分类Dev

使用 asp.net web 表单 Gridview 从 SQL 数据源下载文件

来自分类Dev

尝试使用 angular 5 和 asp.net core 从数据库下载文件

Related 相关文章

  1. 1

    使用AngularJS从ASP.NET Web API方法下载文件

  2. 2

    ASP.NET处理程序(ashx)与MVC控制器操作,用于下载文件

  3. 3

    使用asp.net Web表单中的流返回可下载文件

  4. 4

    使用asp.net mvc下载文件

  5. 5

    使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

  6. 6

    从ASP.net MVC 4 WEB API控制器返回byte []

  7. 7

    asp.net mvc / web api 2-控制器接受JSON对象数组

  8. 8

    使用MVC Core下载文件

  9. 9

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  10. 10

    将Asp.Net MVC控制器转换为Web API的最佳方法

  11. 11

    如何从Web API调用ASP.NET Core Web MVC

  12. 12

    为什么我的ASP.Net Core Web API控制器不返回XML?

  13. 13

    ASP.NET Core 3.0 Web API-控制器方法未命中

  14. 14

    从Blazor客户端应用程序从ASP.NET Core API下载文件

  15. 15

    使用Blazor Webassembly和ASP.NET Core安全下载文件

  16. 16

    使用asp.net mvc从Google Drive Api下载文件的问题

  17. 17

    将文件从ASP.NET MVC 4.6应用程序发布到ASP.NET Core Web API

  18. 18

    如何在ASP.NET Core Web API中使用相同数量的参数重载控制器方法?

  19. 19

    如何从Web API调用ASP.NET Core Web MVC

  20. 20

    使用asp.net mvc下载文件

  21. 21

    从ASP.net MVC 4 WEB API控制器返回byte []

  22. 22

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  23. 23

    将Asp.Net MVC控制器转换为Web API的最佳方法

  24. 24

    Asp.net MVC项目中的Angularjs调用Web API控制器

  25. 25

    如何从控制器代码 asp.net mvc Core 调用 web url

  26. 26

    如何在 ASP Net Core 中授权 Web API 控制器

  27. 27

    如何正确配置模拟依赖项以使用 Autofac 测试 Web Api (ASP.NET Core) 控制器

  28. 28

    使用 asp.net web 表单 Gridview 从 SQL 数据源下载文件

  29. 29

    尝试使用 angular 5 和 asp.net core 从数据库下载文件

热门标签

归档