Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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."));
            }
        }