我制作了一个 MVC 应用程序,当您访问/App/export 时,它会压缩特定文件夹中的所有文件,然后返回压缩文件。代码看起来像这样:
public ActionResult Export() {
exporter = new Project.Exporter("/mypath/")
return File(exporter.filePath, "application/zip", exporter.fileName);
}
我想做的是将文件返回给用户,然后将其删除。有没有办法设置超时删除文件?还是保留文件句柄以便在请求完成之前不删除文件?
最佳答案
对不起,我现在没有密码...
但这里的想法是:避免创建临时文件!您可以使用 MemoryStream
将压缩数据直接写入响应。
编辑 在那一行(它没有使用 MemoryStream
但想法是一样的,避免创建临时文件,这里使用 DotNetZip 库):
DotNetZip now can save directly to ASP.NET Response.OutputStream .
关于c# - .Net MVC 返回文件然后删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4128843/