Skip to main content
 首页 » 编程设计

c#之如何删除刚刚上传到服务器但仍被服务器锁定的文件

2024年01月25日30daizhj

我的系统将文件上传到 IIS 服务器,然后我对它们进行操作,在完成所有操作后,我需要删除原始文件,问题是 IIS“抓取”了文件,我无法删除它,当我关闭进程时,我可以从服务器手动删除它,但在我关闭进程之前,我什至不能这样做......

我正在使用:File.Delete(Server.MapPath(OriginalFileVirtualPath)); 删除文件。

附注现在我使用的是 .net 服务器,而不是完整的事件 IIS,但我认为问题不在那里......它甚至有一些意义,当我将文件上传到服务器时,它不会'不要让删除它的策略消失,但我确信有一个解决方法......

10 倍 :-)

请您参考如下方法:

您只需关闭文件流。之后,您可以使用 File.Delete() 方法。

在 using () { } block 中进行操作并在 using block 之后进行删除是一个很好的做法:

using (FileStream stream = File.Open(filePath, FileMode.Open)) 
{ 
    // Manipulation stuff 
} 
File.Delete(filePath);