/// <summary> /// 导出交易日志 /// </summary> public async Task <FileDto> GetTransactionLogsToExcel(GetTransactionLogsInput input) { async Task <List <TransactionLogExportDto> > getListFunc(bool isLoadSoftDeleteData) { var query = CreateTransactionLogsQuery(input); var results = await query .OrderBy(input.Sorting) .ToListAsync(); var exportListDtos = results.MapTo <List <TransactionLogExportDto> >(); if (exportListDtos.Count == 0) { throw new UserFriendlyException(L("NoDataToExport")); } return(exportListDtos); } List <TransactionLogExportDto> exportData = null; exportData = await getListFunc(false); var fileDto = new FileDto(L("TransactionLog") + L("ExportData") + ".xlsx", MimeTypeNames.ApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet); var byteArray = await _excelExporter.ExportAsByteArray(exportData); _tempFileCacheManager.SetFile(fileDto.FileToken, byteArray); return(fileDto); }
public async Task <List <FileDto> > GetFiles(UserIdentifier user) { var tenancyName = "."; if (user.TenantId.HasValue) { using (_unitOfWorkManager.Current.SetTenantId(null)) { tenancyName = (await _tenantManager.GetByIdAsync(user.TenantId.Value)).TenancyName; } } var profileInfo = await _userManager.GetUserByIdAsync(user.UserId); var content = new List <string> { L("TenancyName") + ": " + tenancyName, L("UserName") + ": " + profileInfo.UserName, L("Name") + ": " + profileInfo.Name, L("Surname") + ": " + profileInfo.Surname, L("EmailAddress") + ": " + profileInfo.EmailAddress, L("PhoneNumber") + ": " + profileInfo.PhoneNumber }; var profileInfoBytes = Encoding.UTF8.GetBytes(string.Join("\n\r", content)); var file = new FileDto("ProfileInfo.txt", MimeTypeNames.TextPlain); _tempFileCacheManager.SetFile(file.FileToken, profileInfoBytes); return(new List <FileDto> { file }); }
public FileDto DownloadWebLogs() { //Create temporary copy of logs var logFiles = GetAllLogFiles(); //Create the zip file var zipFileDto = new FileDto("WebSiteLogs.zip", MimeTypeNames.ApplicationZip); using (var outputZipFileStream = new MemoryStream()) { using (var zipStream = new ZipArchive(outputZipFileStream, ZipArchiveMode.Create)) { foreach (var logFile in logFiles) { var entry = zipStream.CreateEntry(logFile.Name); using (var entryStream = entry.Open()) { using (var fs = new FileStream(logFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 0x1000, FileOptions.SequentialScan)) { fs.CopyTo(entryStream); entryStream.Flush(); } } } } _tempFileCacheManager.SetFile(zipFileDto.FileToken, outputZipFileStream.ToArray()); } return(zipFileDto); }
public UploadServiceImagesOutput UploadServiceImages(FileDto input) { try { var profilePictureFile = Request.Form.Files.First(); byte[] fileBytes; using (var stream = profilePictureFile.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } if (!ImageFormatHelper.GetRawImageFormat(fileBytes).IsIn(ImageFormat.Jpeg, ImageFormat.Png, ImageFormat.Gif)) { throw new Exception(L("IncorrectImageFormat")); } _tempFileCacheManager.SetFile(input.FileToken, fileBytes); using (var bmpImage = new Bitmap(new MemoryStream(fileBytes))) { return(new UploadServiceImagesOutput { FileToken = input.FileToken, FileName = input.FileName, FileType = input.FileType, Width = bmpImage.Width, Height = bmpImage.Height }); } } catch (UserFriendlyException ex) { return(new UploadServiceImagesOutput(new ErrorInfo(ex.Message))); } }
public UploadDocumentsOutput UploadDocuments(FileDto input) { try { var profilePictureFile = Request.Form.Files.First(); byte[] fileBytes; using (var stream = profilePictureFile.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } _tempFileCacheManager.SetFile(input.FileToken, fileBytes); return(new UploadDocumentsOutput { FileToken = input.FileToken, Name = input.FileName, FileExt = input.FileType, }); } catch (UserFriendlyException ex) { return(new UploadDocumentsOutput(new ErrorInfo(ex.Message))); } }
protected void Save(XSSFWorkbook excelPackage, FileDto file) { using (var stream = new MemoryStream()) { excelPackage.Write(stream); _tempFileCacheManager.SetFile(file.FileToken, stream.ToArray()); } }
public async Task <FileDto> GetUsersToExcel() { try { //Below code is will fetch data for export which will change as per requirement var ApplicationList = _applicationRepository.GetAll().AsNoTracking().Include(x => x.project).ToList(); List <ApplicationDto> ApplicationDtoList = new List <ApplicationDto>(); if (ApplicationList.Count == 0) { ApplicationDto reportDto = new ApplicationDto(); ApplicationDtoList.Add(reportDto); } ApplicationDtoList = ObjectMapper.Map <List <ApplicationDto> >(ApplicationList); ApplicationDtoList.ForEach((x) => { x.ApplicationName = (x.Id != 0 && x.ApplicationName != null) ? x.ApplicationName : AppConsts.DashSymbol; x.ProjectName = (x.Id != 0 && x.project != null) ? x.project.Name : AppConsts.DashSymbol; x.Time = (x.CreationTime != null) ? x.CreationTime.ToShortDateString() : AppConsts.DashSymbol; }); var applicationSortedList = ApplicationDtoList.OrderBy(x => x.CreationTime).ToList(); // Below is File Generation code this will remain same for all export you just need to change parameter of createWorksheetForExcel method while calling. string fileName = AppConsts.ExportFilename; string path = Path.GetTempPath(); string outputFileName = _fileExportService.CreateFilePath(fileName); fileName = fileName + AppConsts.ExcelFileExtention; var file = new FileDto(fileName, AppConsts.ExcelFormat); using (SpreadsheetDocument package = SpreadsheetDocument.Create(outputFileName, SpreadsheetDocumentType.Workbook)) { _fileExportService.CreateWorksheetForExcel(package, applicationSortedList); } var memory = await _fileExportService.GenerateMemoryStream(path, fileName); _tempFileCacheManager.SetFile(file.FileToken, memory.ToArray()); //Delete generate file from server File.Delete(Path.Combine(path, fileName)); return(file); } catch { throw; } }
protected FileDto CreateExcelPackage(string templateFile, DataSet dataSet, string reportName) { // var file = new FileDto(reportName, MimeTypeNames.ApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet); var designer = new WorkbookDesigner { Workbook = new Workbook(templateFile) }; //Set data row designer.SetDataSource(dataSet); designer.Process(); MemoryStream excelStream = new MemoryStream(); designer.Workbook.Save(excelStream, SaveFormat.Xlsx); _tempFileCacheManager.SetFile(file.FileToken, excelStream.ToArray()); return(file); }
public UploadProfilePictureOutput UploadProfilePicture(FileDto input) { try { var profilePictureFile = Request.Form.Files.First(); //Check input if (profilePictureFile == null) { throw new UserFriendlyException(L("ProfilePicture_Change_Error")); } if (profilePictureFile.Length > MaxProfilePictureSize) { throw new UserFriendlyException(L("ProfilePicture_Warn_SizeLimit", AppConsts.MaxProfilPictureBytesUserFriendlyValue)); } byte[] fileBytes; using (var stream = profilePictureFile.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } if (!ImageFormatHelper.GetRawImageFormat(fileBytes).IsIn(ImageFormat.Jpeg, ImageFormat.Png, ImageFormat.Gif)) { throw new Exception(L("IncorrectImageFormat")); } _tempFileCacheManager.SetFile(input.FileToken, fileBytes); using (var bmpImage = new Bitmap(new MemoryStream(fileBytes))) { return(new UploadProfilePictureOutput { FileToken = input.FileToken, FileName = input.FileName, FileType = input.FileType, Width = bmpImage.Width, Height = bmpImage.Height }); } } catch (UserFriendlyException ex) { return(new UploadProfilePictureOutput(new ErrorInfo(ex.Message))); } }
public UploadFilesOutput UploadFiles() { var Files = Request.Form.Files; //Check input if (Files == null || Files.Count == 0) { throw new UserFriendlyException(L("Upload_Files_Error")); } var file = Files[0]; UploadFilesOutput result; try { byte[] fileBytes; using (var stream = file.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } var token = Guid.NewGuid().ToString(); _tempFileCacheManager.SetFile(token, fileBytes); result = new UploadFilesOutput { FileToken = token, FileName = file.FileName }; } catch (UserFriendlyException ex) { result = new UploadFilesOutput(new ErrorInfo(ex.Message)); } return(result); }
/// <summary> /// 导出文章 /// </summary> public async Task <FileDto> GetArticleInfosToExcel(GetArticleInfosInput input) { async Task <List <ArticleInfoExportDto> > getListFunc(bool isLoadSoftDeleteData) { var query = CreateArticleInfosQuery(input); var results = await query .OrderBy(input.Sorting) .ToListAsync(); var exportListDtos = results.MapTo <List <ArticleInfoExportDto> >(); if (exportListDtos.Count == 0) { throw new UserFriendlyException(L("NoDataToExport")); } return(exportListDtos); } List <ArticleInfoExportDto> exportData = null; //是否仅加载回收站数据 if (input.IsOnlyGetRecycleData) { using (UnitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete)) { exportData = await getListFunc(true); } } exportData = await getListFunc(false); var fileDto = new FileDto(L("ArticleInfo") + L("ExportData") + ".xlsx", MimeTypeNames.ApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet); var byteArray = await _excelExporter.ExportAsByteArray(exportData); _tempFileCacheManager.SetFile(fileDto.FileToken, byteArray); return(fileDto); }
public async Task <List <FileDto> > GetFiles(UserIdentifier user) { var profilePictureId = (await _userManager.GetUserByIdAsync(user.UserId)).ProfilePictureId; if (!profilePictureId.HasValue) { return(new List <FileDto>()); } var profilePicture = await _binaryObjectManager.GetOrNullAsync(profilePictureId.Value); if (profilePicture == null) { return(new List <FileDto>()); } var file = new FileDto("ProfilePicture.png", MimeTypeNames.ImagePng); _tempFileCacheManager.SetFile(file.FileToken, profilePicture.Bytes); return(new List <FileDto> { file }); }
protected void Save(ExcelPackage excelPackage, FileDto file) { _tempFileCacheManager.SetFile(file.FileToken, excelPackage.GetAsByteArray()); }