Exemple #1
0
 public static UploadedFile ToService(this UploadedFileEntity entity)
 {
     return(entity != null
         ? new UploadedFile
     {
         Id = entity.Id,
         Name = entity.Name,
         FileContent = entity.FileContent,
         ContentType = entity.ContentType,
         Lenght = entity.Lenght,
         ReportId = entity.ReportId
     }
         : null);
 }
Exemple #2
0
        public async Task <bool> AddAsync(IFormFile uploadedFile, Guid reportId, CancellationToken cancellationToken)
        {
            UploadedFileEntity uploadedFileEntity;
            string             content;

            if (uploadedFile.Length > 0)
            {
                using (var ms = new MemoryStream())
                {
                    uploadedFile.CopyTo(ms);
                    var fileBytes = ms.ToArray();
                    content = Convert.ToBase64String(fileBytes);
                    var    parsedContentDisposition = ContentDispositionHeaderValue.Parse(uploadedFile.ContentDisposition);
                    var    array       = parsedContentDisposition.FileName.Split('\\');
                    string lastElement = array[array.Length - 1];
                    var    name        = lastElement.Substring(0, lastElement.Length - 1);
                    // act on the Base64 data
                    uploadedFileEntity = new UploadedFileEntity
                    {
                        FileContent = fileBytes,
                        Id          = new Guid(),
                        Name        = name,
                        ReportId    = reportId,
                        Lenght      = uploadedFile.Length,
                        ContentType = uploadedFile.ContentType,
                    };
                }
            }
            else
            {
                return(false);
            }
            this.context.UploadedFiles.Add(uploadedFileEntity);
            await this.context.SaveChangesAsync(cancellationToken);

            return(true);
        }