在 Angular 拦截器中,由于请求内容中包含了二进制数据(如上传的图片),默认情况下是不允许的。因此,需要在拦截器中对该请求进行特殊处理,以允许上传图片。
解决方法的代码示例:
// 定义一个拦截器 @Injectable() export class MyInterceptor implements HttpInterceptor {
intercept(req: HttpRequest, next: HttpHandler): Observable
// 进行请求处理
return next.handle(req);
} }
// 在模块中添加拦截器 @NgModule({ // ... providers: [ { provide: HTTP_INTERCEPTORS, useClass: MyInterceptor, multi: true // 允许定义多个拦截器 } ] }) export class AppModule { }
通过以上处理,就可以在 Angular 的拦截器中处理上传图片等二进制数据的请求了。