gpt4 book ai didi

c# - 使用 ASP.NET MVC 下载后如何删除文件?

转载 作者:IT王子 更新时间:2023-10-29 04:09:56 29 4
gpt4 key购买 nike

我想在下载后立即删除一个文件,我该怎么做?我尝试子类化 FilePathResult 并覆盖 WriteFile 方法,我在

之后删除文件
HttpResponseBase.TransmitFile

被调用,但这会挂起应用程序。

我可以在用户下载文件后安全地删除它吗?

最佳答案

您可以只返回使用 FileOptions.DeleteOnClose 打开的常规 FileStreamResult。文件流将由 asp.net 处理结果。这个答案不需要使用在某些情况下可能适得其反的低级响应方法。也不会像将文件整体加载到内存中那样做额外的工作。

var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None, 4096, FileOptions.DeleteOnClose);
return File(
fileStream: fs,
contentType: System.Net.Mime.MediaTypeNames.Application.Octet,
fileDownloadName: "File.abc");

此答案基于 Alan West 的回答和 Thariq Nugrohotomo 的评论。

关于c# - 使用 ASP.NET MVC 下载后如何删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2041717/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com