【问题标题】:ASP.NET Writing PDF to filesystemASP.NET 将 PDF 写入文件系统
【发布时间】:2010-10-15 19:04:09
【问题描述】:

我有一份报告,目前允许用户在提供报告参数(日期范围、过滤器等)时选择输出选项(HTML 或 PDF)。

我想更改报告,使其始终使用 HTML 并在呈现的 HTML 页面上放置一个链接,以便用户可以根据需要获取 PDF。

如何修改我的 IIS6/IIS7 配置、用户权限等,以允许我的站点将 PDF 写入文件系统?任何 C# 代码将不胜感激。

我计划创建带有随机文件名的 PDF,并添加一个清理旧 PDF 的进程,这样我就不会遇到磁盘空间问题。这是一个使用较少的网络应用程序,所以我不担心有很多旧的 PDF 文件挂在周围。

【问题讨论】:

    标签: c# .net asp.net iis file-permissions


    【解决方案1】:

    您需要做的就是确保运行网站的用户 ID(或者如果您的网站以这种方式运行,则登录的用户)对您在其中创建 PDF 的目录具有写入权限。

    【讨论】:

      【解决方案2】:

      在 IIS 6 管理器中,转到应用程序池并获取运行您的网站的应用程序池的属性(如果您不确定,它位于网站属性对话框 > 主目录选项卡上)。转到身份选项卡,查看应用程序池在哪个用户帐户下运行。

      然后转到您要写入 PDF 的目标文件夹,右键单击并转到属性 > 安全 > 添加并为应用程序池列出的帐户添加“写入”。

      【讨论】:

      • +1 比我的更详细,但如果 web.config 中有 条目,或者如果 IIS 正在进行身份验证,则优先。
      【解决方案3】:

      您应该查看 .NET 中的 System.Security.Permissions 命名空间和 FileIOPermission 类,以便在尝试写入文件时确保文件权限设置正确。

      我使用它的方式与您需要它的方式大致相同(将 PDF 文件写入服务器,然后再将它们提供给用户)。

      【讨论】:

        【解决方案4】:

        n IIS 6 管理器,转到应用程序池并获取运行您的网站的应用程序池的属性(如果您不确定,它位于网站属性对话框 > 主目录选项卡上)。转到身份选项卡,查看应用程序池在哪个用户帐户下运行。

        然后转到您要写入 PDF 的目标文件夹,右键单击并转到属性 > 安全 > 添加并为应用程序池列出的帐户添加“写入”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-03
          • 1970-01-01
          • 1970-01-01
          • 2020-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多