.NET Core写入wwwroot/pdf文件夹遇UnauthorizedAccessException权限问题
解决.NET Core调试时写入wwwroot/pdf文件夹的权限问题
先修正代码中的路径错误
你的代码里path变量仅指向pdf文件夹,但FileStream需要具体的文件路径,直接用文件夹路径会触发异常,先调整路径:
// 推荐用WebRootPath直接拼接,更贴合Web项目路径逻辑 path = Path.Combine(webHostEnvironment.WebRootPath, "pdf", "sample.pdf");
需要授权的用户对象
在Windows10+VS2022以Project配置调试时,分两种场景:
- 用IIS Express调试:需要给
IIS_IUSRS组或当前登录的Windows用户账户添加写入权限(IIS Express默认以当前用户身份运行) - 用Kestrel直接启动调试:仅需给当前登录的Windows用户账户添加写入权限(Kestrel调试进程以你的用户身份运行)
权限配置具体步骤
- 定位到项目的
wwwroot/pdf文件夹(如果不存在先手动创建) - 右键文件夹 → 属性 → 切换到安全标签页
- 点击编辑 → 添加按钮
- 在输入框中输入对应用户:
- IIS Express场景:输入
IIS_IUSRS,点击检查名称确认后添加;或者输入你的Windows用户名(格式如计算机名\用户名) - Kestrel场景:直接输入你的Windows用户名
- IIS Express场景:输入
- 选中添加的用户,在权限列表中勾选写入权限,依次点击确定保存设置
- 重启调试,调用
CreatePDF方法验证问题是否解决
内容的提问来源于stack exchange,提问作者Shant Hagopian
相关产品推荐
相关产品推荐

