2013-04-25 64 views
1

从我的FTP服务器下载并试图用更新的文件覆盖该文件后,我得到一个异常说:“处理了UnauthorizedAccessException”,即访问路径'C:\ My Program \ My Program \ bin \ Debug \ App_Data'被拒绝。写入本地路径时访问被拒绝?

这是我的代码如下所示:

private void downloadFile() { 
    WebClient wc = new WebClient(); 
    wc.Proxy = null; 
    wc.Credentials = new NetworkCredential("user", "pass"); 

    byte[] fileData = wc.DownloadData("ftp://user:[email protected]/updates/App_Data/log.txt"); 
    File.WriteAllBytes(Application.StartupPath + "\\App_Data", fileData); 
} 

我只是失去了一些东西设置成WebClient实例可以允许“File.WriteAllBytes”写入文件,我从我的FTP下载服务器到我的本地机器?

+0

我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2013-04-25 01:50:52

回答

0

如果你仔细想想,这显然与WebClient无关。如果你采用了从WebClient得到的同样的字节序列,并试图将它写入同一个文件,你会得到相同的结果。

实际上,如果您尝试写入单个字节,并且可能为零字节,则可能会得到相同的结果。

就像例外说,

访问路径 'C:\我的程序\我的程序\ BIN \调试\ App_Data文件' 被拒绝

是否App_Data文件夹甚至还存在?

+0

是的。这是从本地机器复制的路径:“C:\ My Program \ My Program \ bin \ Debug \ App_Data”,这是Intellisense向我展示的路径:“C:\\ My Program \\ My Program \\ bin \\ Debug \\ App_Data“ – avidprogrammer 2013-04-25 01:55:18

+0

然后我猜你没有写权限。就那么简单。 – 2013-04-25 01:58:10

+0

解决了它。它必须在App_Data之后包含文件名 – avidprogrammer 2013-04-25 02:00:09