我有一个aspx网页,使用作为处理程序来保存通过swfupload上传的文件,我将文件保存在服务器上,像这样:
HttpPostedFile uploadedFile = Request.Files["Filedata"];
uploadedFile.SaveAs(LocationOnServer);
问题是,在我保存文件后,文件保持锁定(由w3wp.exe),直到我重新启动IIS。保存后是否有释放文件的方法?由于
我过去处理过同样的情况。您需要在域帐户下运行应用程序池。也就是说,运行web应用程序的应用程序池应该设置为作为域用户运行。然后,应该向同一域用户授予您试图上载到的文件夹的权限。为了将域用户分配给应用程序池,请从IIS中的应用程序池节点中选择适当的池,右键单击并选择属性。从属性对话框中选择身份选项卡并选择"可配置",然后提供域帐户。然后你应该给相同的用户权限在你的文件夹
我找不到任何文档,但您可能必须处理HttpPostedFile对象。大多数情况下,如果文件被锁定,那么与它们关联的某个对象没有被正确处置。
我会检查服务器上的文件夹权限。我有一个类似的问题,其中应用程序能够创建文件,但不能写入它,这导致它锁定。
您是否尝试对其调用Finalize() ?你有任何防病毒软件或备份软件可能会试图抓取文件吗?
我不认为权限是问题,因为如果你没有权限到那个文件夹,你就不能在第一个地方写文件