Asp.net mvc 返回浏览器后清理临时文件
我有一个控制器动作,可以动态生成PowerPoint文件。目前,可以通过解压缩现有的.pptx文件,对XML应用一些更改,并将结果压缩到新的临时.pptx文件中来实现。然后使用file()从操作返回该文件 在将临时文件返回到客户端后,如何清理该文件Asp.net mvc 返回浏览器后清理临时文件,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我有一个控制器动作,可以动态生成PowerPoint文件。目前,可以通过解压缩现有的.pptx文件,对XML应用一些更改,并将结果压缩到新的临时.pptx文件中来实现。然后使用file()从操作返回该文件 在将临时文件返回到客户端后,如何清理该文件 有更好的方法吗?我想您使用的是一个库,比如SharpZipLib 正确的解决方案是首先不生成文件。使用SharpZipLib可以将文件写入流。只需将它指向outputstream,您就应该可以了。我最终创建了一个包装类,它实现了IDisposable
有更好的方法吗?我想您使用的是一个库,比如
SharpZipLib
正确的解决方案是首先不生成文件。使用
SharpZipLib
可以将文件写入流
。只需将它指向outputstream,您就应该可以了。我最终创建了一个包装类,它实现了IDisposable
,负责创建临时文件并在Dispose()中删除它。我个人在每次调用cleanup时都会添加一个异步进程——这也是我更新缓存、执行日志记录等的方式。。。你会接到另一个电话,用它。这正是网络的本质——你可以用轮询器之类的工具进行黑客攻击,但最好还是坚持HTTP的按需模式。我实际上使用的是System.IO.Compression.ZipArchive,但我想应该也是这样。如果使用流而不是文件,将如何以及何时处理流?如果使用OutputStream作为基础流,框架将在它发送回请求时为您关闭它。我如何确切地返回流?我只看到从流中获取所有字节并使用文件返回所有字节的示例。