diff --git a/server.js b/server.js index 7d8b9e4..9af520b 100644 --- a/server.js +++ b/server.js @@ -202,6 +202,8 @@ app.post('/api/race/add', verifyToken, async (req, res) => { // route for handling requests from the Angular client app.post('/api/upload-replay', upload.single('file'), (req, res) => { let file = req.file; + console.log(req.body); + const { seasonId } = req.body; console.log("File uploaded: ", req.file); fs.readFile(file.path, function(err, buffer) { diff --git a/src/app/components/season-details/season-details.component.html b/src/app/components/season-details/season-details.component.html index 1573084..5b8d674 100644 --- a/src/app/components/season-details/season-details.component.html +++ b/src/app/components/season-details/season-details.component.html @@ -4,7 +4,7 @@
- +
diff --git a/src/app/components/season-details/season-details.component.ts b/src/app/components/season-details/season-details.component.ts index f00aad4..8314104 100644 --- a/src/app/components/season-details/season-details.component.ts +++ b/src/app/components/season-details/season-details.component.ts @@ -70,10 +70,10 @@ export class SeasonDetailsComponent { }); } - openUploadReplayDialog(): void { + openUploadReplayDialog(seasonId: string): void { const dialogRef = this.dialog.open(UploadReplayDialogComponent, { width: '400px', - data: { ...this.newRaceDetails } + data: { seasonId: seasonId } }); dialogRef.afterClosed().subscribe(result => { diff --git a/src/app/components/upload-replay-dialog/upload-replay-dialog.component.ts b/src/app/components/upload-replay-dialog/upload-replay-dialog.component.ts index dfd94b0..b54df3e 100644 --- a/src/app/components/upload-replay-dialog/upload-replay-dialog.component.ts +++ b/src/app/components/upload-replay-dialog/upload-replay-dialog.component.ts @@ -1,4 +1,5 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { ApiService } from '../../services/api.service'; @Component({ @@ -8,8 +9,14 @@ import { ApiService } from '../../services/api.service'; }) export class UploadReplayDialogComponent { fileName = ''; + seasonId: string = ''; - constructor(private apiService: ApiService) {} + constructor(private apiService: ApiService, + @Inject(MAT_DIALOG_DATA) seasonId: string + ) + { + this.seasonId = seasonId; + } onFileSelected(event: any) { @@ -19,6 +26,7 @@ export class UploadReplayDialogComponent { this.fileName = file.name; let formData = new FormData(); formData.append("file", file); + formData.append("seasonID", this.seasonId); const upload$ = this.apiService.postReplayUpload(formData); upload$.subscribe(); } diff --git a/src/app/services/api.service.ts b/src/app/services/api.service.ts index f235973..4840c7c 100644 --- a/src/app/services/api.service.ts +++ b/src/app/services/api.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; @Injectable({ providedIn: 'root' @@ -20,8 +20,10 @@ export class ApiService postReplayUpload(file: any) { + const headers = new HttpHeaders(); + headers.append('Content-Type', 'multipart/form-data'); return this.http.post( - this.server_route+'/api/upload-replay', file); + this.server_route+'/api/upload-replay', file, { headers }); } getSeasons()