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); }
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); }