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