看起来这应该是一个非常简单的话题,所有的例子都只是几行,但没有像样的解释,因此我一直遇到同样的错误而没有解决方案。
简而言之,这部分应用程序是这样运行的
- 从数据库中拉取图片
- 在临时文件夹中创建实际图像文件
- 创建包含图像的 pdf
- 现在删除创建的图像。
一切正常,直到删除。我不断收到错误
InnerException:
System.ArgumentException: URI formats are not supported. at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)...
我尝试了几种不同的方法来完成删除最新的:
foreach (string item in TempFilesList)
{
path = System.Web.HttpContext.Current.Application["baseWebDomainUrl"] + "/temp/" + item;
fileDel = new FileInfo(path);
fileDel.Delete();
}
在那之前的尝试是:
foreach (string item in TempFilesList)
{
File.Delete(System.Web.HttpContext.Current.Application["baseWebDomainUrl"] + "/temp/" + item);
}
TempFilesList 是一个数组列表,其中包含要删除的图像的路径。
最佳答案
您应该尝试调用 Server.MapPath(path) 来获取文件的“真实”路径。将其传递给 File.Delete,它应该可以工作(假设文件权限等是正确的)
例如:
foreach (string item in TempFilesList)
{
path = System.Web.HttpContext.Current.Application["baseWebDomainUrl"] + "/temp/" + item;
path = Server.MapPath(path);
fileDel = new FileInfo(path);
fileDel.Delete();
}
关于c# - C#删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/571457/