我正在尝试下载一个xlsx扩展文件,将其作为httpresponsemessage包含在内。该文件不会出现下载,但Chrome中的XHR请求似乎包含数据。
public HttpResponseMessage GetExcelFile(string csvdata)
{
var result = new HttpResponseMessage(HttpStatusCode.OK);
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
MemoryStream memStream = new MemoryStream(encoding.GetBytes(csvdata));
result.Content = new ByteArrayContent(encoding.GetBytes(csvdata));
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "Data.xlsx";
return result;
}
这是将httpresponsemessage抛出到angularjs UI的api调用。 有什么建议让这个工作吗?
答案 0 :(得分:0)
希望您使用web API get方法在ValuesController.cs类中返回HttpResponseMessage
。 (// GET: api/Values
)
假设按下按钮时点击ng-click,
在按钮元素中添加ng-click="TakeIT()"
作为属性。
在角度控制器中,将函数绑定到$ scope as,
$scope.TakeIT= function () {
window.location = 'api/Values';
};