public async Task <Guid> UploadAsync(IFormFile file) { var validator = new FormFileValidator(); validator.ValidateAndThrow(file); var document = await _documentsService.UploadAsync( file.OpenReadStream(), file.FileName, file.Length, file.ContentType); return(document.Id); }
public async Task <ActionResult <ImageAssetResource> > Post( [FromForm] IFormFile imageFormFile, [FromForm] int folderId) { EnsureArg.IsNotNull(imageFormFile); var formFileValidator = new FormFileValidator(); try { formFileValidator.ValidateForImage(imageFormFile); var command = new CreateImageAssetCommand(imageFormFile.OpenReadStream(), imageFormFile.FileName, imageFormFile.ContentType, folderId); var imageId = await mediator.Send(command); var query = new ReadImageAssetQuery(imageId); var response = await mediator.Send(query); var imageAssetResource = new ImageAssetResource(response); imageAssetResource.EnrichWithLinks(this); return(imageAssetResource); } catch (FileIsEmptyRequestException) { return(this.BadRequest(ApiErrors.FileIsEmpty)); } catch (FileNameContainsInvalidCharactersRequestException) { return(this.BadRequest(ApiErrors.FileContainsInvalidCharacters)); } catch (FileExtensionIsNotAcceptedRequestException) { return(this.BadRequest(ApiErrors.FileExtensionIsNotAccepted)); } catch (FileContentTypeIsNotAcceptedRequestException) { return(this.BadRequest(ApiErrors.FileContentTypeIsNotAccepted)); } catch (ParentFolderDoesNotExistRequestException) { return(this.BadRequest(ApiErrors.ParentFolderDoesNotExist)); } catch (FileNameMustBeUniqueInFolderRequestException) { return(this.BadRequest(ApiErrors.FileNameMustBeUniqueInFolder)); } }