2012-02-01 96 views
0

我想为我遇到的问题创建一个快速修复。我需要做的就是从我的网站下载一个文件到本地计算机。从网站下载错误 - 找不到路径的一部分

我使用ASP.NET和C#一个网站,我已经加入到下方点击一个按钮的代码来下载文件:

Web客户端Web客户端=新的Web客户端(); webClient.DownloadFile(“http://www.mysite.com/myfile.ext”,@“C:\ test \ myfile.ext”);

产生标题中的错误:

找不到路径 'C:\测试\ myfile.ext' 的一部分。

该目录确实存在于我的电脑上。

从我读到的这似乎是在本地计算机上的权限问题。我在NETWORK SERVICE用户的该目录上添加了完整权限,因为我正在运行Windows 7。我也有一个用户,运行XP所以我相信用户将有ASPNET

不用说,这一切都没有工作,并允许我下载文件。我在这里有点失控,所以我不知道该怎么做。这可能是因为我在正确的轨道上,只是错过了一些明显的东西,或者我可能离开了基地。

有人对我有一些指导吗?

编辑

我越去想这个,我不禁想有一个更好的方式来做到这一点。

我以前从网站上下载过,无需处理权限,那么更好的简单方法是什么?我在这里错过了什么?

ANSWER

谢谢,我发现我从下面哈日的反应需要什么。

+0

您无权写入此文件,或者文件已准备好打开并锁定。 – Aristos 2012-02-01 22:37:45

+0

相关文件位于网站的根目录中。 – GRW 2012-02-02 15:56:59

回答

1

运行您的网站使用的应用程序池的用户需要获得读取该文件的权限。所以,转到IIS>应用程序池>找到一个为您的网站>一个身份。

+0

我的网站托管在Go Daddy上,尽我所能,我一直无法找到配置应用程序池的选项。 – GRW 2012-02-02 15:54:26

+0

您如何期待godaddy为您提供访问c:驱动器上某个文件的权限?您只能访问您的主机空间中的文件。你应该能够从你的网站文件夹之外读取文件,因为它们仍然在你的托管文件夹中,并假设设置了这些权限(我确信有管理员选项可以设置对你在那里创建的文件夹的读/写权限因为我见过他们)。 – 2012-02-02 16:01:13

+0

此WebClient代码在asp.net应用程序中运行,对不对?你想做什么?从外部网站下载文件到由您的asp.net应用程序控制的磁盘空间,或者从您的asp.net应用程序将文件下载到您的磁盘,浏览器正在运行? – 2012-02-02 16:03:20

0

检查应用程序池标识类型以确保您授予正确用户的权限,有关更多详细信息,请参见this website

+0

我的网站托管在Go Daddy上,尽我所能,我一直无法找到配置应用程序池的选项。 – GRW 2012-02-02 15:53:51

相关问题