c# - .Net MVC 返回文件然后删除它

标签 c# .net asp.net-mvc delete-file

我制作了一个 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/

相关文章:

c# - 用反射覆盖私有(private)方法

.net - Kendo UI 网格命令。ASP MVC 帮助程序中缺少 imageClass

c# - 基于没有键定义的类 mvc5

asp.net-mvc - ASP.Net MVC 路由问题 url 不工作

c# - 如何估计要从 NetworkStream 读取的字节数组/缓冲区的大小?

c# - 不支持将多个修饰键分配给一个按键手势 SHIFT + F

.net - Xamarin iOS 上的日志记录框架

.net - ThreadStatic 与 ThreadLocal<T> 性能 : speedups or alternatives?

javascript - 发送 XMLHttpRequest 未与 Controller 方法绑定(bind)

c# - put 方法的参数值为 null