如果文件发布到我的网络应用程序,那么我通过MultipartFormDataStreamProvider.FileData
阅读它们。
我像这样初始化提供者:
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
提供商很好地将它们存储为“~App_Data / BodyPart_ {someguid}” 但是在完成这些文件之后如何清理这些文件呢?
答案 0 :(得分:1)
您可以删除所有超过特定时间跨度的文件。 e.g。
private void CleanTempFiles(string dir, int ageInMinutes)
{
string[] files = Directory.GetFiles(dir);
foreach (string file in files)
{
var time = File.GetCreationTime(file);
if (time.AddMinutes(ageInMinutes) < DateTime.Now)
{
File.Delete(file);
}
}
}
然后用以下内容调用它:
CleanTempFiles(root, 60); // Delete all files older than 1 hour
答案 1 :(得分:1)
我知道这个问题已经过时了,但我发现删除临时文件的最佳方法是在处理之后。
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
foreach (var file in provider.Files)
{
// process file upload...
// delete temporary file
System.IO.File.Delete(file.LocalFileName);
}