我有一个FileUploader类,可以选择性地提供一个zip文件,它会将其解压缩到临时位置并返回文件路径。
据我所了解,在FileUploader类上实现IDisposable接口,并使用Dispose方法删除所有临时文件,可以使类在引用超出上下文范围时自动清理自己?
然而,情况似乎并非如此,请问有人可以解释一下我该如何实现我的目标吗?
更新: 为了澄清,我的代码是:
据我所了解,在FileUploader类上实现IDisposable接口,并使用Dispose方法删除所有临时文件,可以使类在引用超出上下文范围时自动清理自己?
然而,情况似乎并非如此,请问有人可以解释一下我该如何实现我的目标吗?
更新: 为了澄清,我的代码是:
public ActionResult ImportFile()
{
FileUploader uploader = new FileUploader(ControllerContext, "file"); // where "file" is the posted form's file element
uploader.SaveOrExtractFilesToTempLocation();
foreach (string file in uploader.files)
{
try
{
// do some stuff
}
catch (Exception err)
{
// let the user know
}
}
return View();
}
我试图让FileUploader在ImportFile()方法完成后删除所有临时文件。
FileUploader
是做什么的,以及它与解压缩有什么关系吗?我可以提供一个作为IDisposable
的样例ZipExtracter
,但这可能无法完全涵盖实际用途。 - AniFileUploader
只接受表单提交的文件,并返回上传的临时文件的物理位置。但是,如果提交的文件是一个 zip 文件,它会解压缩并返回所有已提取的临时文件的位置。 - Jimbo