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()