【问题标题】:File is locked after HttpPostedFile SaveAs(LocationOnServer)HttpPostedFile SaveAs(LocationOnServer) 后文件被锁定
【发布时间】:2011-07-19 15:44:38
【问题描述】:

我有一个 aspx 网页,它用作处理程序来通过 swfupload 保存上传的文件我将文件保存在服务器上,如下所示:

HttpPostedFile uploadedFile = Request.Files["Filedata"];
uploadedFile.SaveAs(LocationOnServer);

问题是,在我保存文件后,文件保持锁定状态(通过 w3wp.exe),直到我重新启动 IIS。 有什么方法可以在保存后释放文件? 谢谢

【问题讨论】:

    标签: c# .net file-upload httppostedfile locked-files


    【解决方案1】:

    我过去也处理过同样的情况。您需要在域帐户下运行您的应用程序池。也就是说,运行 Web 应用程序的应用程序池应设置为以域用户身份运行。然后,应授予同一域用户对您尝试上传到的文件夹的权限。为了将域用户分配给您的应用程序池,请从 IIS 中的应用程序池节点中选择适当的池,右键单击并选择属性。从属性对话框中选择身份选项卡并选择“可配置”,然后提供域帐户。然后你应该在你的文件夹上授予同一个用户权限。

    【讨论】:

    【解决方案2】:

    我找不到任何文档,但您可能必须处理 HttpPostedFile 对象。大多数情况下,如果文件被锁定,则与它们关联的某些对象没有被正确处理。

    【讨论】:

      【解决方案3】:

      我会检查服务器上的文件夹权限。我有一个类似的问题,应用程序能够创建文件但不能写入文件,这导致它被锁定。

      【讨论】:

        【解决方案4】:

        你试过调用 Finalize() 吗?您是否有任何可能试图获取文件的防病毒或备份软件?

        我认为权限不是问题,因为如果您还没有对该文件夹的权限,那么您一开始就无法将文件写入其中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 1970-01-01
          • 2019-04-19
          • 2016-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多