下载文件 angular 11 时出现错误 502 网关错误?
error 502 bad gateway when download file angular 11?
我正在从 angular 11
下载 zip file
。
我在下载大文件时遇到问题,但小文件没有任何问题。
我下载的大文件有size 2.397 kb.
完成下载需要 7 分钟,但 2 分钟后出现错误 502 bad gateway。
它从本地电脑下载文件没有任何问题,但是当尝试从远程服务器下载文件时发布给我 error 502 bad gateway
.
所以如何解决这个问题以及为什么会出现这个错误?
e {headers: n, status: 502, statusText: 'Bad Gateway', url: 'https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp', ok: false, …}
error: Blob
size: 1477
type: "text/html"
[[Prototype]]: Blob
headers: n
lazyInit: ƒ ()
lazyUpdate: null
normalizedNames: Map(0) {size: 0}
[[Prototype]]: Object
message: "Http failure response for https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp: 502 Bad Gateway"
name: "HttpErrorResponse"
ok: false
status: 502
statusText: "Bad Gateway"
url: "https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp"
[[Prototype]]: Object
constructor: ƒ e(e)
[[Prototype]]: Object
我试过的
web api
[Route("ExportNxp")]
public IActionResult ExportNxp(bool areIdentical)
{
if (areIdentical == false)
{
return OK("Not Matched Excel");
}
else
{
return PhysicalFile(zipPath, "application/zip", Path.GetFileName(zipPath));
}
}
service.ts
PostUploadzipNxp(file:any):Observable<any>
{
formData.append('file', file,file.name);
return this.http.post('https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp/', formData,{observe: 'response', responseType: 'blob' });
}
component.ts
this._dataService.PostUploadzipNxp(this.fileToUpload)
.subscribe(blob => {
saveAs(blob.body, this.fileToUpload?.name +'.zip');
});
默认情况下,ASP.NET核心请求超时为2分钟,您可以通过program.cs文件
中的KeepAliveTimeout进行更改
在 .net 核心 6.0 中
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(t =>
{
t.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(15);
});
在 .net 核心 3.1 中
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureKestrel(o => { o.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(10); });
我正在从 angular 11
下载 zip file
。
我在下载大文件时遇到问题,但小文件没有任何问题。
我下载的大文件有size 2.397 kb.
完成下载需要 7 分钟,但 2 分钟后出现错误 502 bad gateway。
它从本地电脑下载文件没有任何问题,但是当尝试从远程服务器下载文件时发布给我 error 502 bad gateway
.
所以如何解决这个问题以及为什么会出现这个错误?
e {headers: n, status: 502, statusText: 'Bad Gateway', url: 'https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp', ok: false, …}
error: Blob
size: 1477
type: "text/html"
[[Prototype]]: Blob
headers: n
lazyInit: ƒ ()
lazyUpdate: null
normalizedNames: Map(0) {size: 0}
[[Prototype]]: Object
message: "Http failure response for https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp: 502 Bad Gateway"
name: "HttpErrorResponse"
ok: false
status: 502
statusText: "Bad Gateway"
url: "https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp"
[[Prototype]]: Object
constructor: ƒ e(e)
[[Prototype]]: Object
我试过的
web api
[Route("ExportNxp")]
public IActionResult ExportNxp(bool areIdentical)
{
if (areIdentical == false)
{
return OK("Not Matched Excel");
}
else
{
return PhysicalFile(zipPath, "application/zip", Path.GetFileName(zipPath));
}
}
service.ts
PostUploadzipNxp(file:any):Observable<any>
{
formData.append('file', file,file.name);
return this.http.post('https://pn.xxx.com:7072/api/Z2Delivery/ExportNxp/', formData,{observe: 'response', responseType: 'blob' });
}
component.ts
this._dataService.PostUploadzipNxp(this.fileToUpload)
.subscribe(blob => {
saveAs(blob.body, this.fileToUpload?.name +'.zip');
});
默认情况下,ASP.NET核心请求超时为2分钟,您可以通过program.cs文件
中的KeepAliveTimeout进行更改在 .net 核心 6.0 中
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(t =>
{
t.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(15);
});
在 .net 核心 3.1 中
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureKestrel(o => { o.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(10); });