【发布时间】:2016-05-04 02:39:42
【问题描述】:
我想使用 MVC Web Api 提供文件。这是我的控制器
public HttpResponseMessage GetSupplierExcel(string supplierName)
{
var filePath = GetFileName(supplierName);
var stream = new FileStream(filePath, FileMode.Open);
var result = new HttpResponseMessage();
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentLength = stream.Length;
result.Content.Headers.ContentDisposition.FileName = fileName;
return result;
}
此操作的响应是
StatusCode:200,ReasonPhrase:'OK',版本:1.1,内容: System.Net.Http.StreamContent,标头:{ 内容类型: application/octet-stream Content-Disposition:附件; 文件名=abc.xlsx 内容长度:7934 }
并且没有正在下载的文件。
我也无法使用 HttpClient 从我的客户端下载流。没有流,只有响应字符串。
【问题讨论】:
标签: c# asp.net-mvc