/// <summary> /// InsertArchiveBase64. /// </summary> /// <param name="bindingModel"></param> /// <returns></returns> public async Task <Boolean> InsertArchiveBase64(ArchiveBase64BindingModel bindingModel) { Boolean result = false; ArchiveModel model = null; Guid archiveId = Guid.NewGuid(); String archivePath = String.Format(ConstantsConfiguration.PATH_IMAGES, archiveId); try { File.WriteAllBytes(archivePath, Convert.FromBase64String(bindingModel.Base64)); if (!(File.ReadAllBytes(archivePath) is null)) { model = new ArchiveModel(archiveId, bindingModel.ArchiveType, bindingModel); result = await this._archiveRepository.InsertArchive(model); if (!result) { File.Delete(archivePath); } } } catch (Exception exception) { if (!(File.ReadAllBytes(archivePath) is null)) { File.Delete(archivePath); } throw exception; } return(result); }
public ArchiveModel(Guid?archiveId, MimeTypeEnum mimeType, ArchiveBase64BindingModel bindingModel) { this.ArchiveId = archiveId?.ToString(); this.ArchiveName = bindingModel?.ArchiveName; this.UserToken = bindingModel?.UserToken; switch (mimeType) { case MimeTypeEnum.IMAGE: this.ContentType = "image/png"; break; case MimeTypeEnum.PDF: this.ContentType = "application/pdf"; break; case MimeTypeEnum.DOCX: this.ContentType = "application/msword"; break; case MimeTypeEnum.PPT: this.ContentType = "application/vnd.ms-powerpoint"; break; } }
public async Task <IActionResult> PostArchiveBase64([FromForm] ArchiveBase64BindingModel model) { if (!(model is null)) { var result = await this._archiveService.InsertArchiveBase64(model); if (result) { return(Ok(new ResultViewModel { IsSuccess = result, Data = model, Messages = new String[] { ConstantsConfiguration.STATUS_CODE_200 } })); } else { return(StatusCode(503, new ResultViewModel { IsSuccess = result, Messages = new String[] { ConstantsConfiguration.STATUS_CODE_503 } })); } }