MultipartFormDataStreamProvider Cleanup

后端 未结 2 1489
谎友^
谎友^ 2021-02-20 14:59

If files are posted to my webapp, then I read them via MultipartFormDataStreamProvider.FileData.

I Initialize the provider like this:

strin         


        
相关标签:
2条回答
  • 2021-02-20 15:20

    You could delete all files that are older than a certain timespan. 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);
            }
        }
    }
    

    Then call it with something like:

    CleanTempFiles(root, 60); // Delete all files older than 1 hour
    
    0 讨论(0)
  • 2021-02-20 15:35

    I know this question is old, but the best way I found to delete the temporary file was after processing it.

    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);
    }
    
    0 讨论(0)
提交回复
热议问题