Ver código fonte

Removed custom file display name option

Lukas Angerer 3 anos atrás
pai
commit
2b739ea2e2

+ 2 - 5
src/RunnersMeet.Client/src/app/tracks/track-create/track-create.component.html

@@ -1,11 +1,8 @@
 <form #uploadForm="ngForm" (ngSubmit)="uploadFile($event, uploadForm)">
 	<div>
-	  <input type="file" name="trackFile" (change)="onFileChange($event)" ngModel />
+		<input type="file" name="trackFile" ngModel />
 	</div>
 	<div>
-	  <input type="text" name="fileName" [(ngModel)]="fileName" />
-	</div>
-	<div>
-	  <button type="submit">Upload</button>
+		<button type="submit">Upload</button>
 	</div>
 </form>

+ 0 - 15
src/RunnersMeet.Client/src/app/tracks/track-create/track-create.component.ts

@@ -8,24 +8,10 @@ import { TracksApiService } from 'src/app/tracks-api.service';
   styleUrls: ['./track-create.component.scss']
 })
 export class TrackCreateComponent {
-	public fileName: string = '';
-
 	public constructor(
 		private readonly tracksApi: TracksApiService
 	) { }
 
-	public onFileChange(event: Event): void {
-		const element = event.currentTarget as HTMLInputElement;
-		let fileList: FileList | null = element.files;
-		if (fileList) {
-			this.fileName = fileList.item(0)?.name || '';
-			const extIndex = this.fileName.lastIndexOf('.');
-			if (extIndex > 0) {
-				this.fileName = this.fileName.substring(0, extIndex);
-			}
-		}
-	}
-
 	public uploadFile(event: SubmitEvent, form: NgForm): void {
 
 		const file: File | undefined = ((event.target as HTMLFormElement).elements.namedItem('trackFile') as HTMLInputElement).files?.[0];
@@ -33,7 +19,6 @@ export class TrackCreateComponent {
 		if (file) {
 			const formData = new FormData();
 			formData.append("file", file);
-			formData.append("name", form.value.fileName);
 
 			this.tracksApi.createTrack(formData).then(track => console.log('created track', track));
 			form.resetForm();

+ 2 - 2
src/RunnersMeet.Server/Controllers/TracksController.cs

@@ -30,9 +30,9 @@ public class TracksController : ControllerBase
 	}
 
 	[HttpPost]
-	public async Task<ActionResult<Track>> CreateTrack([FromForm] IFormFile file, [FromForm] string? name, CancellationToken cancellationToken = default)
+	public async Task<ActionResult<Track>> CreateTrack([FromForm] IFormFile file, CancellationToken cancellationToken = default)
 	{
-		var fileName = await _fileStorage.UploadFileAsync(file, name, cancellationToken);
+		var fileName = await _fileStorage.UploadFileAsync(file, cancellationToken);
 
 		var gpxSummary = _gpxParser.ExtractSummary(_fileStorage.OpenFileRead(fileName));
 		var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";

+ 2 - 2
src/RunnersMeet.Server/Persistence/FileName.cs

@@ -18,11 +18,11 @@ public class FileName
 		return Path.Combine(Hash.Substring(0, 2), Hash.Substring(2, 2), Hash);
 	}
 
-	public static async Task<FileName> FromFormUploadAsync(IFormFile file, string? displayName, CancellationToken cancellationToken = default)
+	public static async Task<FileName> FromFormUploadAsync(IFormFile file, CancellationToken cancellationToken = default)
 	{
 		var sha1 = SHA1.Create();
 		var hash = Convert.ToHexString(await sha1.ComputeHashAsync(file.OpenReadStream(), cancellationToken));
 
-		return new FileName(hash, displayName ?? file.FileName);
+		return new FileName(hash, file.FileName);
 	}
 }

+ 2 - 2
src/RunnersMeet.Server/Persistence/FileStorage.cs

@@ -9,9 +9,9 @@ public class FileStorage : IFileStorage
 		_persistenceOptions = persistenceOptions;
 	}
 
-	public async Task<FileName> UploadFileAsync(IFormFile file, string? displayName, CancellationToken cancellationToken = default)
+	public async Task<FileName> UploadFileAsync(IFormFile file, CancellationToken cancellationToken = default)
 	{
-		var fileName = await FileName.FromFormUploadAsync(file, displayName, cancellationToken);
+		var fileName = await FileName.FromFormUploadAsync(file, cancellationToken);
 		await using var fileStream = CreateFile(fileName);
 
 		await file.CopyToAsync(fileStream, cancellationToken);

+ 1 - 1
src/RunnersMeet.Server/Persistence/IFileStorage.cs

@@ -2,6 +2,6 @@ namespace RunnersMeet.Server.Persistence;
 
 public interface IFileStorage
 {
-	public Task<FileName> UploadFileAsync(IFormFile file, string? displayName, CancellationToken cancellationToken = default);
+	public Task<FileName> UploadFileAsync(IFormFile file, CancellationToken cancellationToken = default);
 	public Stream OpenFileRead(FileName name);
 }