FileStream stream = new FileStream(Server.MapPath(filePath), FileMode.OpenOrCreate);
把网站上传到服务器后,我的代码走到这里就会出现错误:
对路径“d:\wwwroot\models\wwwroot\Models\Download\男模6134(编号1086).zip”的访问被拒绝请问为什么我本地测试就没有问题? 应该如何解决?谢谢。

解决方案 »

  1.   

    属性 安全选项卡 添加aspnet帐户 赋给权限
      

  2.   


    没有可能。运营商给用户开通了这个,那么岂不是随便一个人都能破坏其它的人数据,盗取别人的数据?!这不是“该死的权限”,而是你设计软件时根本不去顾及别人。asp.net规定在你的网站下app_data目录下是属于你的。如果你要访问网站以外的磁盘空间来保存数据,那么只有按照运营商给你制定的目录去访问。你自己却不能像当然地侵犯不属于网站的空间。
      

  3.   

    即使 d:\wwwroot\models\wwwroot...... 这个路径在运营商的服务器上确实存在,那么也“省省心”吧,在编程时不要想当然地访问网站以外的磁盘空间。如果微软的IIS默认是允许网站访问别人的磁盘空间,微软公司早就应该倒闭了,因为它做的软件默认情况下是危害客户利益的。
      

  4.   


    原来是这样…
    那就是说,我把我的文件放入App_Data中后,就可以通过FileStream进行读及创建修改文件哈?
      

  5.   

    我的路径是这样取的:Server.MapPath("~/Models\Download\男模6134(编号1086).zip")
    可是最终就会取出来的路径不是我想要的Models\Download\男模6134(编号1086).zip在我的网站中的路径是存在的
      

  6.   


    不单单是App_Data  只要是你网站下的文件大程序都可以控制到
      

  7.   

    应用程式集内的目录,你拥有读写权限(如果空间运营商有开可写权限),不一定要放置在App_Data中.
      

  8.   

    可是我使用如下代码:FileStream stream = new FileStream(Server.MapPath("~/Models/Download/男模6134(编号1086).zip"), FileMode.OpenOrCreate); 
    就会报错:
    对路径“d:\wwwroot\models\wwwroot\Models\Download\男模6134(编号1086).zip”的访问被拒绝 
      

  9.   

    不要再wwwroot里,应该重新设置目录,在项目相对路径中添加文件夹操作权限。
      

  10.   

    http://topic.csdn.net/u/20100131/15/218f1907-13fb-4ff0-8a07-25a5837f2918.html?seed=696555597&r=63143861#r_63143861这里有了答案
    原来虚拟空间运营商有中文后台操作页面,可以单独向某个文件夹赋予权限
      

  11.   

    IIS属性--》主目录--》设置权限