我有一个网站,允许用户通过上传表单在服务器上上传一些图像。上传此图像时,asp.net 服务应压缩该特定图像。压缩图像已经很好用了,但我想在压缩完成后从服务器磁盘中删除原始图像。
请花点时间看看我下面的代码:
if (fileUl.PostedFile.ContentType == "image/jpeg" || fileUl.PostedFile.ContentType == "image/png")
{
fileUl.SaveAs(fullPath);
System.Drawing.Image image = System.Drawing.Image.FromFile(fullPath);
compressImage(destinationPath, image, 40);
System.IO.File.Delete(fullPath);
} // nested if
如果我尝试运行上面的代码,我会得到
System.IO.IOException:该进程无法访问文件 [filepath],因为它正被另一个进程使用。
我实际上希望这是因为我认为这是因为,当下一行代码想要删除该图像时,服务器仍在压缩该图像(我认为就是这样)。所以我的问题是:
如何等待压缩完成然后运行“删除”代码?