2010-12-13 173 views
0

典型的问题,但我已经尽我所能想到让这个工作。我在我的电脑上将NETWORK SERVICE和ASPNET帐户设置为FULL CONTROL。我正在使用内置的Cassini Web服务器来测试我的应用程序,但没有运气。我甚至试图在APP_DATA文件夹之外创建一个文件夹,并且仍然声称访问被拒绝。ASP.net:无法写入App_Data文件夹,访问被拒绝

任何人有任何想法?

代码示例:

Dim uploadedFile As HttpPostedFile = Request.Files(0) 
     Dim len As Integer = uploadedFile.ContentLength 
     Dim fn As String = Path.GetFileName(uploadedFile.FileName) 
     Dim SaveLocation As String = Server.MapPath("~/Help") 
     Dim MyStream As Stream = uploadedFile.InputStream 
     Dim input(len) As Byte 

     MyStream = uploadedFile.InputStream 
     MyStream.Read(input, 0, len) 

     Try 

      Dim newFile As FileStream = New FileStream(SaveLocation, FileMode.Create) 
      newFile.Write(input, 0, input.Length) 
      newFile.Close() 
      'Dim writer As Stream = New FileStream(SaveLocation, FileMode.Create) 
      'writer.Read() 
      'writer.Close() 
      'uploadedFile.SaveAs(SaveLocation) 
     Catch ex As Exception 

     End Try 

UPDATE:需要有在保存位置的文件名,固定。

+0

您确定网络服务器正在运行您的网站作为NETWORK SERVICE或ASPNET用户吗?听起来像它可能会在不同的用户下运行它。 – derek 2010-12-13 16:42:07

+0

我已将安全选项卡中的所有内容都设置为完全控制。 – jlrolin 2010-12-13 16:44:00

回答

2

好的,我明白了。我需要在SaveLocation中有文件名。完全错过了。谢谢你的帮助。

+2

只需在原始问题中发布该信息,而不是作为答案。 – 2010-12-13 17:06:24

+4

@Jack - 事实上,他正在为自己的问题提供一个答案,这对于堆栈溢出平台是有效的,并且适用于这种情况。 – 2010-12-13 17:35:05

0

您使用的是哪个版本的IIS?

在IIS 6及更高版本上,它是网络服务。

在IIS 5及更低版本上,它是需要所需访问权限的ASPNET用户帐户。

+0

我正在使用内置的Cassini Web服务器。但是我给了NETWORK SERVICE和ASPNET访问权限,完全访问权限。 – jlrolin 2010-12-13 16:55:05

0

如果您使用的是IIS,请查找您遇到问题的站点的应用程序池的系统(或用户)帐户。请检查以确保该用户对该文件夹有权限。

如果您使用的是Visual Studio 2005+,则它正在部署一个新的ASP.NET开发服务器。这将作为您当前登录的帐户运行。你是这台机器上的本地管理员吗?

+0

我正在使用VS 2010,并且我不是管理员。尽管我的用户帐户已完全控制。 – jlrolin 2010-12-13 16:57:56

+0

你有没有尝试启用对每个人的完全控制?如果这导致错误消失,那么存在帐户权限问题。如果错误仍然存​​在,那么你有一个不同的目录访问问题。 – Keith 2010-12-13 17:04:06

相关问题