Класс constructor
будет вызываться, если вы создадите новый момент класса Utils
, с другой стороны, static
(http) просто объявлено без присваивания значения, поэтому Utils.http не определен.
Я полагаю, что вы можете спутать с внедрением угловой зависимости, в лучшем случае создайте UtilsService инъекционный http-объект, а не статические методы.
@Injectable()
export class UtilsService {
constructor(private http: HttpClient) {}
uploadMediaFile(file, api: string, model: any) {
const formData = new FormData();
formData.append(file.name, file);
const uploadReq = new HttpRequest("POST", api, formData, {
reportProgress: true,
});
this.http.request(uploadReq).subscribe(event => {
//blah blah
});
}
}
если вы хотите использовать статические методы Utils, вам необходимо вручную назначить объект http, прежде чем использовать его
Utils.http = http;
после этого вы можете использовать его;