我有一个动态生成PowerPoint文件的控制器动作。目前的做法是:解压缩现有的.pptx文件,对XML应用一些更改,然后将结果压缩到一个新的临时.pptx文件中。然后使用file()从操作返回该文件。
临时文件返回给客户端后如何清理?
有更好的方法来处理这个问题吗?
我猜您使用的是SharpZipLib
之类的库。
在我看来,正确的解决方案是首先不要生成文件。对于SharpZipLib
,你可以直接将文件写入stream
。只要把它指向输出流,就可以了。
我最终创建了一个实现IDisposable
的包装器类,它负责在Dispose()中创建临时文件并删除它。