2011-09-14 50 views
1

我想上传文件在asp.net中,并把一个特定的路径进行保存。 Windows用户。文件上传C#asp.net

它输出了我一个错误:

System.UnauthorizedAccessException was unhandled by user code 
    Message=Access to the path 'C:\Users\USER\Desktop\fyp2\CMS TEST4\CMS\CMS\Upload' is denied. 

我的代码是:

var guid = Guid.NewGuid(); 
if (File.HasFile) 
{ 
    var length = File.PostedFile.FileName.ToString().Length; 
    var ind = File.PostedFile.FileName.ToString().IndexOf('.'); 
    var sdfs=guid.ToString()+File.PostedFile.FileName.ToString().Substring(ind, length - ind); 
    File.PostedFile.SaveAs("C:\\Users\\USER\\Desktop\\fyp2\\CMS TEST4\\CMS\\CMS\\Upload"); 

} 
+1

这意味着运行Web服务器的帐户无权访问该文件夹。 –

回答

3

ASP.NET辅助进程没有该路径的访问权限。默认情况下,我相信IIS工作进程在网络服务帐户下运行。您可以将文件夹的写权限添加到此帐户,或者设置具有不同身份(即具有写权限的用户)的新应用程序池。

3

由于作为错误所说的那样简单,你的应用程序需要的文件夹有适当的写权限。

我认为这是一个Web应用程序。在这种情况下,您需要IIS用来运行应用程序的用户对指定文件夹具有“写入”权限。

3

用户目录相当被锁定。如果Web服务器运行的帐户不是指定的用户,则默认情况下它不会访问该路径。您可以向运行Web服务器的帐户授予对该路径的显式访问权限,也可以在该路径外部创建具有适当权限的文件夹,并在用户桌面上创建链接。

1

看起来像当前用户没有保存权限。在写作之前,请尝试使用FileSystemRightsAccessControlType.Allow来了解目的地的许可信息。