asp.net-web-api – 如何从ASP.net 5 web api返回文件
发布时间:2020-05-28 03:51:36 所属栏目:asp.Net 来源:互联网
导读:在asp.net 5中创建了wep api.我想回复Post请求的文件响应.但不是文件响应的样子 ` { version: { major: 1, minor: 1, build: -1, revision: -1, majorRevision: -1, minorRevision: -1 }, conten
|
在asp.net 5中创建了wep api.我想回复Post请求的文件响应.但不是文件响应的样子
{
"version": {
"major": 1,"minor": 1,"build": -1,"revision": -1,"majorRevision": -1,"minorRevision": -1
},"content": {
"headers": [
{
"key": "Content-Disposition","value": [
"attachment; filename=test.pdf"
]
},{
"key": "Content-Type","value": [
"application/pdf"
]
}
]
},"statusCode": 200,"reasonPhrase": "OK","headers": [],"requestMessage": null,"isSuccessStatusCode": true
}`
码: public HttpResponseMessage Post([FromBody]DocumentViewModel vm)
{
try
{
if (ModelState.IsValid)
{
var Document = _repository.GetDocumentByGuid(vm.DocumentGuid,User.Identity.Name);
var Params = Helper.ClientInputToRealValues(vm.Parameters,Document.DataFields);
var file = Helper.GeneratePdf(Helper.InsertValues(Params,Document.Content));
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ByteArrayContent(System.IO.File.ReadAllBytes(file))
};
result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
{
FileName = "test.pdf"
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return result;
}
}
catch (Exception ex)
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return null;
}
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return null;
}
如何将实际文件作为响应而不是JSON返回?我使用Postman作为测试客户端. 解决方法使用IActionResult而不是HttpResponseMessage.并返回FileStreamResult,并使其工作.遇到了一个新问题,该文件不是我用来自服务器的流打开的文件.但是会为此创造一个新问题. 继续:Return file from ASP.NET 5 Web API 谢谢 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 在同一视图中更新多个项目
- asp.net-core – 如何使.NET Core类库从.NET 4.6项目引用?
- asp.net-mvc-2 – ASP.MVC 2 RTM ModelState Id属性的错误
- asp.net – precompiledApp.config的目的是什么?
- asp.net-mvc – 在实体框架代码中为同一表定义多个外键
- asp.net-core – 为什么我的JWT承载认证在令牌表示5分钟后将
- asp.net – 无法使用URL重写出站规则来更改IIS响应代码
- asp.net-web-api – 仅在第一个Web请求(WebAPI 2,OWIN 3,Ni
- asp.net – Visual Studio可以在新的调试会话中重新启动IIS
- asp.net – web部署工具2.1和web部署3.5有什么区别?哪一个
推荐文章
站长推荐
- asp.net-mvc – MVC5:@ Html.TextBoxFor(或Edit
- asp.net – MvcHtmlString.ToHtmlString()不编码
- asp.net-mvc-3 – 如何从ASP.NET MVC#输出中删除
- asp.net-web-api – 如何自定义认证我自己的表在
- asp.net – 在将MVC和路由添加到WebForms项目后,
- asp.net – 表单验证忽略默认文档
- 如何在服务器上安装ASP.NET MVC 5?
- asp.net – WCF vs ASPX webmethods vs ASMX web
- asp.net-mvc – Razor查看引擎在VB.NET中的怪癖
- asp.net-mvc – 如何在ASP.Net MVC 3中可选地呈现
热点阅读
