ASP.net:无法写入App_Data文件夹,Access被拒绝

时间:2010-12-13 16:38:10

标签: asp.net vb.net file-upload file-permissions

典型的问题,但我已经做了我能想到的一切,让它发挥作用。我在我的电脑上将NETWORK SERVICE和ASPNET帐户设置为FULL CONTROL。我正在使用内置的Cassini Web服务器来测试我的应用程序,没有运气。我甚至试图在APP_DATA文件夹之外创建一个文件夹,但仍然说Access被拒绝。

有人有什么想法吗?

代码示例:

  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

更新:需要将文件名保存在保存位置,修复。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

在IIS 6及更高版本上,它是NETWORK SERVICE。

在IIS 5及以下版本中,它是需要访问权限的ASPNET用户帐户。

答案 2 :(得分:0)

如果您正在使用IIS,请找出您遇到问题的网站的应用程序池的系统(或用户)帐户。检查以确保该用户具有相关文件夹的权限。

如果您使用的是Visual Studio 2005+,它将推出一个新的ASP.NET Development Server。这将作为您当前登录的帐户运行。你是这台机器上的本地管理员吗?