public async Task<ResultTestDto> Import([NotNull] IFormFile file) { await CheckCreatePolicyAsync(); if (FilesAppService.IsExcel(file)) throw new UserFriendlyException("请上传正确的Excel格式文件!"); var fileEntity = await FilesAppService.UploadFile(file); string refPath = ""; try { var filePath = FilesAppService.GetFileSavePath(fileEntity.Path); byte[] filedata = File.ReadAllBytes(filePath);//根据路径读取文件数据 PartyInterface partyInterface = new PartyInterface(); refPath = partyInterface.FileDecrypt(filedata); } catch (Exception ex) { } if (refPath != "") fileEntity.Path = refPath; var workBook = GetWorkBook(fileEntity); if (refPath != "") File.Delete(refPath); return await ImportProcess(workBook); }
时间: 2024-02-10 16:34:36 浏览: 78
.NET中的async和await关键字使用及Task异步调用实例
这段代码是一个C#的异步方法,接受一个IFormFile类型的参数,并返回一个Task<ResultTestDto>类型的结果。方法中首先调用了CheckCreatePolicyAsync()方法,然后通过IsExcel()方法判断传入的文件是否为Excel格式,如果不是则抛出异常。接着调用FilesAppService.UploadFile()方法将文件上传,获取上传后的文件实体。然后通过文件路径读取文件数据,并对文件数据进行解密。如果解密成功,则将文件路径赋值为解密后的文件路径。然后调用GetWorkBook()方法获取Excel文件的工作簿,并调用ImportProcess()方法处理工作簿数据。最后如果解密成功,则删除解密后的文件。如果在解密过程中出现异常,则不进行删除操作。
阅读全文