1

我能够读取.swf文件的高度和大小,如果它不在指定的尺寸内,那么我必须从服务器中删除文件,不幸的是它不断产生错误,因为我无法释放资源,我不是确定我必须释放哪些其他资源。

教程链接

该进程无法访问文件“C:\PROJECTS\xyz\images\banners\file.swf”,因为它正被另一个进程使用。

/* Not using below case as i not able to dispose the swfReader object which can result in unnecessary memory*/

   // Create a swf stream reader
   SwfReader swfReader = new SwfReader(path);
   // Read the completed swf file
   Swf swf = swfReader.ReadSwf();
   // Read only headers of file to optimize read speed
   //Swf swf = swfReader.ReadSwfHeader();
   int swfHeight = swf.Header.Height;
   int swfWidth = swf.Header.Width;
   swfReader.Close();
   if ((swfHeight > int.Parse(hdnBannerHeight.Value)) || (swfWidth > int.Parse(hdnBannerWidth.Value)))
   {
       lblImageUploadMessage1.Text = "File cant be upload as it has invalid dimensions";
       lblImageUploadMessage1.CssClass = "lblErrorMSG";
       Session["bannerImage"] = null;
       if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); }
   }

上面的代码生成与其他进程正在使用的文件相关,我无法使用IDispose方法,所以我不知道如何解决这个问题。我只是使用 FileUpload 服务器控件在 asp.net 网络表单上上传文件。

4

0 回答 0