我现在丛一个网站上通过正则匹配到了我想要的图片地址,
然后我写个循环抓取下载这些图片到本地的时候,结果就说我对路径访问被拒绝,
这个问题我也发过好几次贴了,没有真正的解决,我他给文件, ASP。NET 、GUEST、everyone 、network service 这些都给了权限,甚至也整个磁盘也给了权限,但是还不行,所以很急, 鄙人不胜感激。

解决方案 »

  1.   


    下面是我写的CS代码:
     public void SaveUrlPics()
        {
            WebClient wc = new WebClient();//声明   
            wc.DownloadFile("http://img10.360buyimg.com/S5/4776/445a950e-4ded-444d-94bd- f418a73dcc43.jpg", "E:\\img");//下载   
            wc.Dispose();//释放
        }  其中图片地址写的只是一个死的,到时候是循环获取的, 接着就报 对路径E:\\img访问被拒绝,我很是郁闷,这问题搞了我三天了。
    这直是部分的,我有好几万张图片地址,
    http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg
    http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg
    http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg
    http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg
    http://img10.360buyimg.com/S5/333/61de8dec-c36f-4e23-9010-1002cac024bf.jpg
    http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg
    http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg
    http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg
    http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg
    http://img10.360buyimg.com/S5/333/61de8dec-c36f-4e23-9010-1002cac024bf.jpg
    http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg
    http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg
    http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg
    http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg
      

  2.   

    1. 要保证C盘下有img文件夹,而且给其必要的写权限
    2. 要给定保存的文件名。
    我测试没有什么问题,代码如下: public static void SaveUrlPics( )
            {
                string[] strUrls = new string[]
                {
                    "http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg",
                    "http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg ",
                    "http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg ",
                    "http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg ",
                    "http://img10.360buyimg.com/S5/333/61de8dec-c36f-4e23-9010-1002cac024bf.jpg ",
                    "http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg ",
                    "http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg ",
                    "http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg ",
                    "http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg ",
                    "http://img10.360buyimg.com/S5/333/61de8dec-c36f-4e23-9010-1002cac024bf.jpg ",
                    "http://img10.360buyimg.com/S5/856/90358111-9c21-4750-a07d-4dce0d19b3e3.jpg ",
                    "http://img10.360buyimg.com/S5/298/e681374e-66b3-4ca1-80ab-52fbb6d5cf76.jpg ",
                    "http://img10.360buyimg.com/S5/619/cf187dfa-ac2f-42c9-bb6f-bf3d34d83709.jpg ",
                    "http://img10.360buyimg.com/S5/671/af67c82d-9cb1-4066-bd0f-9c0a4ad23cbc.jpg"
                };            WebClient wc = new WebClient();//声明              for (int i = 0; i < strUrls.Length; i++)
                {
                    string url = strUrls[i];
                    wc.DownloadFile(url, String.Format("C:\\img\\{0}.jpg",i));//下载      
                }
                
                wc.Dispose();//释放 
            } 
      

  3.   

    确实代码是没什么问题,就是我E 盘下面文件夹的权限,根据网上大家提供的我什么都给了权限呀 
    GUEST 就是这个来宾账号有个X 不知道是不是这个原因。
      

  4.   

    如果你的E盘是NTFS的话,你要右击IMG文件夹,然后选择安全,然后添加IIS执行账号,一般情况下,是直接添加一个EveryOne用户,给用全部权限,然后,同志,你再试一下
      

  5.   

    对我的是NTFS 的我也有添加 EveryOne权限还是不行的,真不知道是什么原因,我给的是完全权限。
      

  6.   

    OK 谢谢楼上的太感谢了呀非常感谢,,我三天的问题终于解决了,
    好高兴,  永远祝福CSDN的朋友。。