最初我通过HttpGet方法返回.xlsx文件,但是,现在我必须将非常大的ID数组传递给服务器才能获取该文件。我试图将maxUrlLength增加到2097151,我的web配置包含
<security>
<requestFiltering>
<requestLimits
maxAllowedContentLength="30000000"
maxUrl="2097151"
maxQueryString="2097151"/>
</requestFiltering>
</security>
由于请求量很大,我选择使用HttpPost。我的代码如下:
System.Net.Http.HttpResponseMessage result = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK);
result.Content = response;
result.Content.Headers.ContentDisposition =
new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
{
FileName = fileName
};
result.Content.Headers.ContentType =
new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.Add("FileName", fileName);
return result;
返回的文件出现以下错误;
我们发现xxx.xlsx中的某些内容存在问题。你想让我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击“是”。 如果我点击是,那么:
Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。验证文件是否已损坏,以及文件扩展名是否与文件格式匹配。
我在前端使用Angular2。
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http.post(this.config.apiEndpoint + encodeURI(url), param, options).finally(() => {
if (showSpinner) { this.removeSpinner(); }
});
应该采取什么补救措施?