如何使用web api处理Csv文件下载中的错误情况

时间:2015-03-03 10:27:11

标签: asp.net-mvc asp.net-web-api

我使用以下代码将数据发布到我的api控制器

var form = document.createElement('form');
form.action = '/api/reportsapi/exportToCsv';
form.method = 'POST';
form.style.display = 'none';
for (i in data) {
    if (data[i] != "") {
        var inputElement = document.createElement('textarea');
        inputElement.name = i;
        inputElement.value = data[i];
        form.appendChild(inputElement);
    }
}
document.body.appendChild(form);
form.submit();

我的api控制器返回HttpResponseMessage

var csvValidRequestResult = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(csvReport.Data) };
csvValidRequestResult.Content.Headers.ContentType = new MediaTypeHeaderValue("text/comma-separated-values");
csvValidRequestResult.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = csvReport.FileName };
return csvValidRequestResult;

这一切都很好。当上述脚本命中控制器时,将下载包含数据的文件。

但是如果存在任何服务器端异常,则会出现问题,在这种情况下,页面会被重定向到表单的api url。

我能做些什么来了解错误并在客户端采取相应的行动吗?

0 个答案:

没有答案