【问题标题】:Permission issue on server (file i/o write issue)服务器上的权限问题(文件 i/o 写入问题)
【发布时间】:2017-03-24 03:11:03
【问题描述】:

有一个应用程序上传 zip 文件并将其提取到位于应用程序文件夹下的 Temp 文件夹中,然后将这些提取的文件复制到某个不同的目标位置,并从 Temp 文件夹中删除这些临时提取的文件。 在我的本地机器上的 IIS 上一切正常,但是当我在服务器机器上放置相同的代码时,它给出 文件 I/O 权限 错误,即使我已经给予完全 访问权限临时和目标位置文件夹 谁可以帮我这个事??

这是相同的代码

 string path = Server.MapPath("~/UploadedZipFiles/" + filename);
 fileUpload1.SaveAs(path);//saves zip in temporary folder
 ExtractZIP(filename, targetfolder);  //extracts the zip folder contains to       //target folder path

【问题讨论】:

  • 关于任何权限相关问题要记住的重要一点是权限特定于身份(用户)。您需要确定将哪个用户用作您的应用程序池身份,然后为该用户设置权限。当您使用仅为后端目的(例如 Windows 服务、Web 应用程序、队列等)创建的特定用户时,它通常会简化事情。
  • @Eben - 我如何检查哪个用户被用作应用程序池身份
  • IIS 管理器的应用程序池列表中有一个“身份”列。或者,您可以在相关应用程序池的上下文菜单中选择“高级设置...”。如果您没有明确的用户,您可以搜索网络以了解如何为指定的预定义用户设置权限。通常,使用您可以完全控制的自定义/显式帐户仍然会更容易一些。

标签: c# asp.net


【解决方案1】:

对于您的应用程序需要写入、删除或编辑文件的每个文件夹,您必须向您的 IIS 用户授予完全访问权限。

我认为你做得不好。

有关如何添加权限以及这是什么的更多信息,请尝试以下:


更新:

我们在项目中使用了另一个很好的 C# 压缩和解压缩文件库。我建议你也检查一下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 2011-11-14
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2011-12-14
    相关资源
    最近更新 更多