我在我的项目中发现了一个问题。 我目前正在使用DotNetZip库提取zip文件。 另外,提取内容后,我需要删除一个zip文件。 但是,我无法做到这一点(手动和使用File.Delete(...)),因为该文件夹在我的程序中处于打开状态。 所以,我认为这个问题是由文件提取过程引起的 “可疑”代码部分:
string localFileName = @“ ... path ....”;
form(action='/', method='POST')
input(type='text',name='username',placeholder= 'Username', required='')
input(type='password', name='password', placeholder='Password', required='')
input(type='submit', value='Login')
UnzipFiles所在的位置:
string remoteDir = "/SFTPfolder/";
using (var sftp = new SftpClient(SFTPHost, SFTPUsername, SFTPPassword))
{
sftp.Connect();
var files = sftp.ListDirectory(remoteDir);
foreach (var x in files)
{
if (!x.Name.StartsWith("."))
{
Console.WriteLine(x.Name.ToString());
string rfn = x.Name;
using (Stream st1 = File.OpenWrite(localFileName + rfn))
{
sftp.DownloadFile(remoteDir + rfn, st1);
}
}
}
}
UnzipFiles();
File.Delete(@"BLA\BLA1\BLA2\ZIPFILE.zip");
所以,我的问题是:如何使该文件“免费”? (为了删除它)