下载文件报错为:对路径“E:\images\1.DOC”的访问被拒绝。

wjy217213 2009-12-14 03:15:56
异常详细信息: System.UnauthorizedAccessException: 对路径“E:\images\1.DOC”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

代码如下:
string fileName = Label1.Text;//客户端保存的文件名
string filePath = Server.MapPath("../images/") + name;//路径

//以字符流的形式下载文件
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();

大家帮忙看看是哪里出错了?
我个人认为是下载的那个文件夹访问权限的问题,我把images文件属性中的安全,把IUSR ,Users,Everyone都改成完全控制了,但还是报这个错,郁闷!
...全文
297 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjy217213 2009-12-15
  • 打赏
  • 举报
回复
唉,我改成链接方式下载了,要结帖了,大家过来都留一下言,我保证留言的在我结帖时都能得分,呵呵
jin20000 2009-12-15
  • 打赏
  • 举报
回复
结贴吧,我是末班车.
昙花一现1 2009-12-15
  • 打赏
  • 举报
回复
试试:System.IO.FileStream fs = new FileStream(strFilePath,System.IO.FileMode.Open,System.IO.FileAccess.Read);

有可能是权限问题!
wjy217213 2009-12-15
  • 打赏
  • 举报
回复
10分钟后结帖,呵呵,看谁搭上末班车!
zfh198601 2009-12-15
  • 打赏
  • 举报
回复
没有给权限。。user的可读权限
chen_ya_ping 2009-12-15
  • 打赏
  • 举报
回复
这个是权限的问题,你给那个文件赋上一定的权限。
sunxw18 2009-12-15
  • 打赏
  • 举报
回复
给asp.net用户完全控制的权限
takumo 2009-12-15
  • 打赏
  • 举报
回复
你的文件是不是只读了?
jingshuaizhjason 2009-12-15
  • 打赏
  • 举报
回复
只能用 连接的 方式
wjy217213 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hitlcyu19 的回复:]
FileMode.Open 这个你试试其他的 比如FileAccess.Read, FileShare.Read
[/Quote]

不行,报别的错误
hitlcyu19 2009-12-14
  • 打赏
  • 举报
回复
FileMode.Open 这个你试试其他的 比如FileAccess.Read, FileShare.Read
qian6688099 2009-12-14
  • 打赏
  • 举报
回复
遇同样错误,帮顶
wjy217213 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 include_me 的回复:]
E: 是你的站点根吗?.. asp.net是不允许访问站点外的目录的.
[/Quote]

那个路径我少写了一些,感觉是隐私,没必要写全,呵呵,路径没问题,文件能找到,呵呵
wjy217213 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 comzheng 的回复:]
加上NETWORK SERVICE权限试下看。
[/Quote]

谢谢你的意见,试了一下,没变化
include_me 2009-12-14
  • 打赏
  • 举报
回复
E: 是你的站点根吗?.. asp.net是不允许访问站点外的目录的.
Lovely_baby 2009-12-14
  • 打赏
  • 举报
回复
开最大权限试试~~
comzheng 2009-12-14
  • 打赏
  • 举报
回复
加上NETWORK SERVICE权限试下看。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧