Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET将PDF写入文件系统_C#_.net_Asp.net_Iis_File Permissions - Fatal编程技术网

C# ASP.NET将PDF写入文件系统

C# ASP.NET将PDF写入文件系统,c#,.net,asp.net,iis,file-permissions,C#,.net,Asp.net,Iis,File Permissions,我有一个报告,我目前允许用户在提供报告参数(日期范围、过滤器等)时选择输出选项(HTML或PDF) 我想更改报告,使其始终使用HTML,并在呈现的HTML页面上放置一个链接,以便用户可以在需要时获取PDF 如何修改IIS6/IIS7配置、用户权限等,以允许我的站点将PDF写入文件系统?任何C#代码都将不胜感激 我计划用随机文件名创建PDF,并添加一个清理旧PDF的过程,这样就不会出现磁盘空间问题。这是一个很少使用的web应用程序,因此我不担心会有很多旧的PDF文件挂在周围。您需要做的就是确保网站

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

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

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


我计划用随机文件名创建PDF,并添加一个清理旧PDF的过程,这样就不会出现磁盘空间问题。这是一个很少使用的web应用程序,因此我不担心会有很多旧的PDF文件挂在周围。

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

在IIS 6管理器中,转到应用程序池并获取网站正在运行的应用程序池的属性(如果不确定,请在“网站属性”对话框>“主目录”选项卡上)。转到“标识”选项卡,查看应用程序池运行的用户帐户


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

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


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

n IIS 6管理器,转到应用程序池并获取您的网站正在运行的应用程序池的属性(如果您不确定,则在“网站属性”对话框>“主目录”选项卡上)。转到“标识”选项卡,查看应用程序池运行的用户帐户


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

+1了解比我更详细的信息,但如果web.config中有条目,或者如果IIS正在进行身份验证,则优先考虑。