public async Task UploadAsync(UploadMusicFileRequest request) { var blobContainer = await _storageConnectionFactory.GetContainer(); CloudBlockBlob blob = blobContainer.GetBlockBlobReference(GetRandomBlobName(request.musicFile.FileName)); using (var stream = request.musicFile.OpenReadStream()) { blob.Metadata.Add("title", request.title); blob.Metadata.Add("artist", request.artist); await blob.UploadFromStreamAsync(stream); } }
public async Task <IActionResult> Upload([FromForm] UploadMusicFileRequest request) { try { var validation = _uploadMusicFileValidator.Validate(request); if (!validation.IsValid) { return(this.ErrorResult(HttpStatusCode.BadRequest, validation.Errors)); } await _cloudStorage.UploadAsync(request); return(Ok("File saved successfully")); } catch (Exception e) { _logger.LogError(e, "Failed to upload the music"); return(this.ErrorResult(HttpStatusCode.InternalServerError, "InternalServerError", "An error occured while processing this request.")); } }