/// <summary> ///下载日志文件压缩包 /// </summary> /// <returns></returns> public FileDto DownloadWebLogs() { //获取所有的日志文件的路径信息 var logFiles = GetAllLogFiles(); //生成名为WebSiteLogs.zip的压缩包 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(); } } } } _dataTempFileCacheManager.SetFile(zipFileDto.FileToken, outputZipFileStream.ToArray()); } return(zipFileDto); }
/// <summary> /// 上传文件到缓存中 /// </summary> /// <param name="file"></param> /// <returns></returns> public async Task <FileUploadOutputDto> UploadTempFile(IFormFile file) { await Task.Yield(); //Check input if (file == null) { throw new Exception("File empty"); } if (file.Length > AppConsts.MaxFileSize) { throw new Exception("File cannot be larger than 50mb"); } byte[] fileBytes; using (var stream = file.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } var tenantId = AbpSession.TenantId; var storedFile = new DataFileObject(tenantId, fileBytes.ToArray()); _tempFileCacheManager.SetFile(storedFile.Id.ToString(), fileBytes.ToArray()); return(new FileUploadOutputDto { FileName = file.FileName, FileToken = storedFile.Id.ToString(), FileSize = file.Length }); }
public UploadProfilePictureOutputDto 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.MaxProfilePictureBytesUserFriendlyValue)); } byte[] fileBytes; using (var stream = profilePictureFile.OpenReadStream()) { fileBytes = stream.GetAllBytes(); } if (!ImageFormatHelper.GetRawImageFormat(fileBytes).IsIn(ImageFormat.Jpeg, ImageFormat.Png, ImageFormat.Gif)) { throw new Exception("请上传图片文件,仅接受Jpg、PNG、Gif三种格式!"); } _dataTempFileCacheManager.SetFile(input.FileToken, fileBytes); using (var bmpImage = new Bitmap(new MemoryStream(fileBytes))) { return(new UploadProfilePictureOutputDto { FileToken = input.FileToken, FileName = input.FileName, FileType = input.FileType, Width = bmpImage.Width, Height = bmpImage.Height }); } } catch (UserFriendlyException ex) { return(new UploadProfilePictureOutputDto(new ErrorInfo(ex.Message))); } }
protected void Save(ExcelPackage excelPackage, FileDto file) { _dataTempFileCacheManager.SetFile(file.FileToken, excelPackage.GetAsByteArray()); }