La aplicación Angular tiene un formulario con una carga de archivo (imagen) que debe guardarse en una carpeta en el servidor node.js. Pero por alguna razón esto no funciona, se ha creado la carpeta donde se deben guardar las imágenes, pero las imágenes no se guardan allí. No hay errores en la consola.
Mi formulario en el archivo dashboard.component.html
<form action="setProfileImage" method="post" enctype="multipart/form-data"> <input hidden="true" type="file" name="filedata" id="file-input" (change)="onFileSelected($event)"> <label for="file-input"> <div mat-raised-button class="btn" class="userInfo__addFoto"> <p>Upload Image</p> </div> </label> </form>tablero.componente.ts
import { Component, OnInit } from '@angular/core'; import { AuthService } from '../auth.service'; @Component({ selector: 'app-dashboard', templateUrl: './dashboard.component.html', styleUrls: ['./dashboard.component.scss'] }) export class DashboardComponent implements OnInit { selectedFile!: File; constructor( private authService: AuthService, ) { } ngOnInit(): void {} onFileSelected(event: any) { this.selectedFile = <File>event.target.files[0]; const formData = new FormData(); formData.append('filedata',this.selectedFile); console.log(formData); this.authService.setImage(formData); } }Función en auth.service.ts
setImage(data: any) { return this.http.post('http://localhost:3000/account/setProfileImage', data); }Parte del código responsable de esta funcionalidad en el servidor node.js
const upload = multer({dest:"uploads"}); router.post('/setProfileImage', upload.single("filedata"), (req, res) => { filedata = req.file; console.log(filedata); if(!filedata) res.send("Ошибка при загрузке файла"); else res.send("Файл загружен"); });