2010-12-13 3 views
0

Типичная проблема, но я сделал все, о чем я могу думать, чтобы заставить это работать. Я установил учетные записи NETWORK SERVICE и ASPNET на ПОЛНЫЙ КОНТРОЛЬ на моем ПК. Я использую встроенный веб-сервер Cassini для тестирования своего приложения, без везения. Я даже пытался сделать папку вне папки 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

+0

Я установил все на вкладке «Безопасность» для полного контроля. – jlrolin

ответ

2

Хорошо, я понял. Мне нужно было иметь имя файла в SaveLocation. Полностью пропустил это. Спасибо за вашу помощь.

+2

Просто опубликуйте эту информацию в исходном вопросе, а не в качестве ответа. –

+4

@Jack - На самом деле он предоставлял ответ на свой вопрос, который является действительным для платформы переполнения стека и исправляется для этой ситуации. –

0

Какая версия IIS вы используете?

На IIS 6 и выше это СЕТЕВОЕ ОБСЛУЖИВАНИЕ.

В IIS 5 и ниже это учетная запись пользователя ASPNET, которая нуждается в требуемом доступе.

+0

Я использую встроенный веб-сервер Cassini. Но я предоставил NETWORK SERVICE и ASPNET доступ, полный доступ. – jlrolin

0

Если вы используете IIS, узнайте, какая учетная запись системы (или пользователя) для пула приложений для сайта, с которым вы столкнулись. Убедитесь, что у этого пользователя есть разрешения на соответствующую папку.

Если вы работаете в Visual Studio 2005+, он запускает новый сервер разработки ASP.NET. Это выполняется как ваш текущий вход в систему. Вы местный администратор на этой машине?

+0

Я использую VS 2010, и я не администратор. Хотя моя учетная запись пользователя имеет полный контроль. – jlrolin

+0

Вы пытались включить полный контроль над всеми? Если это приводит к ошибке, то возникает проблема с разрешениями учетной записи. Если ошибка все еще существует, у вас возникает другая проблема с доступом к каталогу. – Keith

Смежные вопросы