Я в полном недоумении, почему я получаю эту ошибку. Я потратил 10 с лишним часов, просматривая angular учебные пособия и вопросы переполнения стека. Все в моей голове говорит о чем-то маленьком, но я почти на грани. пожалуйста, направьте меня в правильном направлении.
app.module.ts
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { UploadComponent } from './upload/upload.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule, HttpClient } from '@angular/common/http';
@NgModule({
declarations: [
AppComponent,
UploadComponent
],
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
HttpClient
],
providers: [],
bootstrap: [AppComponent, UploadComponent]
})
export class AppModule { }
uploadcomponent.ts
import { FormBuilder, ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms';
import { HttpClientModule, HttpClient } from '@angular/common/http';
@Component({
selector: 'app-upload',
templateUrl: './upload.component.html',
styleUrls: ['./upload.component.scss']
})
export class UploadComponent implements OnInit {
SERVER_URL = 'http://localhost:3000/upload';
uploadForm: FormGroup;
constructor(private formBuilder: FormBuilder, private httpClient: HttpClient) { }
ngOnInit() {
this.uploadForm = this.formBuilder.group({
profile: ['']
});
}
onFileSelect(event) {
if (event.target.files.length > 0) {
const file = event.target.files[0];
this.uploadForm.get('profile').setValue(file);
}
}
onSubmit() {
const formData = new FormData();
formData.append('file', this.uploadForm.get('profile').value);
this.httpClient.post<any>(this.SERVER_URL, formData).subscribe(
(res) => console.log(res),
(err) => console.log(err)
);
}
}
uploadcomponent. html
<form [formGroup] = "uploadForm" (ngSubmit)="onSubmit()">
<div>
<input type="file" name="profile" (change)="onFileSelect($event)" />
</div>
<div>
<button type="submit">Upload</button>
</div>
</form>
</div>```