ASP.net:无法写入App_Data文件夹,访问被拒绝
典型的问题,但我已经尽我所能想到让这个工作。我在我的电脑上将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:需要有在保存位置的文件名,固定。
好的,我明白了。我需要在SaveLocation中有文件名。完全错过了。谢谢你的帮助。
只需在原始问题中发布该信息,而不是作为答案。 – 2010-12-13 17:06:24
@Jack - 事实上,他正在为自己的问题提供一个答案,这对于堆栈溢出平台是有效的,并且适用于这种情况。 – 2010-12-13 17:35:05
您使用的是哪个版本的IIS?
在IIS 6及更高版本上,它是网络服务。
在IIS 5及更低版本上,它是需要所需访问权限的ASPNET用户帐户。
我正在使用内置的Cassini Web服务器。但是我给了NETWORK SERVICE和ASPNET访问权限,完全访问权限。 – jlrolin 2010-12-13 16:55:05
如果您使用的是IIS,请查找您遇到问题的站点的应用程序池的系统(或用户)帐户。请检查以确保该用户对该文件夹有权限。
如果您使用的是Visual Studio 2005+,则它正在部署一个新的ASP.NET开发服务器。这将作为您当前登录的帐户运行。你是这台机器上的本地管理员吗?
您确定网络服务器正在运行您的网站作为NETWORK SERVICE或ASPNET用户吗?听起来像它可能会在不同的用户下运行它。 – derek 2010-12-13 16:42:07
我已将安全选项卡中的所有内容都设置为完全控制。 – jlrolin 2010-12-13 16:44:00