public async Task <FileUploadResultDto> CreateAsync(FileUploadInputDto input)
        {
            if (input.Bytes.IsNullOrEmpty())
            {
                ThrowValidationException("Bytes of file can not be null or empty!", "Bytes");
            }

            if (input.Bytes.Length > BloggingFileConstant.MaxFileSize)
            {
                throw new UserFriendlyException(
                          $"File exceeds the maximum upload size ({BloggingFileConstant.MaxFileSizeAsMegabytes} MB)!");
            }

            var uniqueFileName = Path.GetFileNameWithoutExtension(input.Name)
                                 + "_"
                                 + GuidGenerator.Create().ToString("N")
                                 + Path.GetExtension(input.Name);

            await _blobContainer.SaveAsync(uniqueFileName, input.Bytes);

            return(new FileUploadResultDto
            {
                Name = uniqueFileName,
                WebUrl = "/api/blogging/files/www/" + uniqueFileName
            });
        }
Ejemplo n.º 2
0
 public virtual async Task <FileUploadOutputDto> CreateAsync(FileUploadInputDto input)
 {
     return(await RequestAsync <FileUploadOutputDto>(nameof(CreateAsync), new ClientProxyRequestTypeValue
     {
         { typeof(FileUploadInputDto), input }
     }));
 }
Ejemplo n.º 3
0
 public Task <FileUploadOutputDto> CreateAsync(FileUploadInputDto input)
 {
     return(_fileAppService.CreateAsync(input));
 }