【发布时间】:2012-03-21 10:21:38
【问题描述】:
我正在使用 ASP.NET MVC 的新 WebAPI 开发一个 Web 服务,它将提供二进制文件,主要是 .cab 和 .exe 文件。
以下控制器方法似乎有效,这意味着它返回一个文件,但它将内容类型设置为application/json:
public HttpResponseMessage<Stream> Post(string version, string environment, string filetype)
{
var path = @"C:\Temp\test.exe";
var stream = new FileStream(path, FileMode.Open);
return new HttpResponseMessage<Stream>(stream, new MediaTypeHeaderValue("application/octet-stream"));
}
有没有更好的方法来做到这一点?
【问题讨论】:
-
任何想要通过 web api 和 IHTTPActionResult 的流返回字节数组的人,然后在这里查看:nodogmablog.bryanhogan.net/2017/02/…
-
// 使用 System.IO; // 使用 System.Net.Http; // 使用 System.Net.Http.Headers; public HttpResponseMessage Post(string version, string environment, string filetype) { var path = @"C:\Temp\test.exe"; HttpResponseMessage 结果 = 新的 HttpResponseMessage(HttpStatusCode.OK); var stream = new FileStream(path, FileMode.Open, FileAccess.Read); result.Content = new StreamContent(stream); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");返回结果; }
标签: asp.net asp.net-mvc asp.net-web-api