0

所以我有一些代码允许用户将某些 excel 电子表格导入数据库。现在,我将文件的副本保存到服务器,以便读取它:

fupMYfile.SaveAs(System.IO.Path.Combine(target, fupMYfile.FileName));

所以一切都很好,直到我在完成后尝试删除文件。我没有收到错误,并且我检查了代码是否被调用,但是,它不会删除文件并且不会给出错误。

System.IO.File.Delete(target + fupMYfile.FileName);

我确实尝试确保 IIS_IUSRS 具有对该文件夹的完全访问权限,所以我知道这不是问题。

有人有什么想法吗?

谢谢

4

2 回答 2

7

您没有使用相同的文件名。您正在保存它c:\somefolder\somefile.xls,然后尝试将其删除c:\somefoldersomefile.xls

用于Path.Compbine将文件夹 namd 和文件名放在一起:

System.IO.File.Delete(System.IO.Path.Combine(target, fupMYfile.FileName));
于 2012-09-05T18:55:44.913 回答
0

File.Delete不给出任何异常,因此不会抛出错误,我们需要给出完整的绝对路径

File.Delete("C:\temp\tmpFile.txt");

并不是

File.Delete("tmpFile.txt");
于 2015-02-02T08:57:02.820 回答