怎样解决:对路径""的访问被拒绝 这个问题?

来源:互联网 发布:百度软件助手 编辑:程序博客网 时间:2024/04/24 02:11

缘由:

  为了让用户选择文档管理部分的“资源类型”,修改了一些源代码,包括把“其中一个常量由一个值改为了另一个值”(注意此处,以后的所有问题都是由此引起的)。
  把程序传上去之后,发现不能上传文档。试了一下上传照片,发现可以。这就怪了,都是一样的文件上传代码,为什么照片可以上传而文档不能上传?

过程:

  1)马上想到是权限的问题。看了一下相关路径的权限设置,发现好象不对,又进行一通设置。再试,还是只能上传照片而不能上传文档。??

  2)没办法。只能写日志了,很一段时间没有看这段代码了,都不太记得,连日志文档写到何处都没印象,只能看代码与配置了。

  把日志加上后,发现上传文档时提示有错:对路径""的访问被拒绝,这肯定是权限问题。自己一直这样想。下面就迷失在“目录权限设置”中了。。。。

  3)把两个目录的权限设到最高权限,还是不行?又把两个目录的权限设成完全一样,怎么还是只能传照片,而不能传文档?这就见鬼了!

  必须得找出是什么引起这个“对路径""的访问被拒绝”的。后来把Exception.StackTrace写到日志中了(这点很重要,因这个可以跟踪到底是哪一行出错了。),查看结果,是CreateDirectory出错。怎会创建目录出错?以前都好好的,并且照片的又没错?

  总算有眉目了!经过一番排查,找到了是LetterFolderCustomFileNameGenerator类中有问题。又是这里?(看来每次文件上传出错,80%的可能与这个类有关,因为它负责生成目录与文件名,并且与应用程序的其他部分包括数据库设置关联紧密)。

  最后发现是由于前面修改那个常量引起的。天哪,两三天时间,就是因为修改这个3个字符引起的?

总结:

  关于这个“对路径""的访问被拒绝”的这个问题解答,网上大部分说的是因为目录权限不够。而我这个问题的原因却不在这里。这个问题只是结果,原因也可能是其他的,如目录不存在,文件不存在等。

  从这个跟踪排查的过程中看,调试信息非常重要,特别是对这些无厘头的找不到方向的问题。  

 

原创粉丝点击