ошибка загрузки файла на удаленный хостинг vb.net - PullRequest
0 голосов
/ 16 марта 2012

У меня на удаленном хостинге следующая ошибка на моем сайте.Я развернул его в первый раз, и код просто работает как чудо на моей локальной машине.Это похоже на проблему с разрешением, и мне не нужно беспокоиться о разрешении, поскольку я загружаю в папку в каталоге приложения.Мне не нужно давать специальное разрешение на этот обряд?Поэтому я попытался связаться с моим хостинг-провайдером, и они сказали, что не имеют к ним никакого отношения.Обычно в учетной записи веб-хостинга есть настройка, в которой я могу дать разрешение приложению или как решить эту проблему?Нужно ли выдавать себя за пользователя?Мне не следует.Папка существует на веб-сайте, а также на сайте есть и другие песни.Нет проблем с доступом к ним.Надеюсь, кто-то может указать мне, что произойдет.Я только что купил удаленный хостинг, и я не понимаю, как они работают.

Большое спасибо.

Мой код загрузки

      If fuSong.HasFile = True Then

        Dim conString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
        Dim con As New SqlConnection(conString)

        Dim location As String = Path.Combine(Server.MapPath("~/Uploads"), fuSong.FileName)
        Dim username As String = Page.User.Identity.Name

        Dim Insertcommand As New SqlCommand()

        Dim prsongname As New SqlParameter("@songname", SqlDbType.NVarChar)
        prsongname.DbType = DbType.[String]
        prsongname.Value = name
        Insertcommand.Parameters.Add(prsongname)

        Dim prusername As New SqlParameter("@username", SqlDbType.NVarChar)
        prusername.DbType = DbType.[String]
        prusername.Value = username
        Insertcommand.Parameters.Add(prusername)


        Insertcommand.CommandText = "INSERT INTO Songs(Song_Name, UserName) VALUES (@songname, @username)"
        Insertcommand.Connection = con
        con.Open()
        Insertcommand.ExecuteNonQuery()
        fuSong.SaveAs(location) ''''''''' I guess error is here

      End If

Ошибка сервера в «/» приложении.

Доступ к пути «D: \ Hosting \ 9078263 \ html \ Uploads \ Sleep Away.mp3 'отклонено.

Описание: необработанное исключение произошло во время выполнения текущего веб-запроса.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.UnauthorizedAccessException: Доступ к пути 'D: \ Hosting \ 9078263 \ html \ Uploads \ Sleep Away.mp3' запрещен.

ASP.NET не авторизован для доступа к запрошенному ресурсу.Рассмотрите возможность предоставления прав доступа к ресурсу для удостоверения запроса ASP.NET.ASP.NET имеет базовый идентификатор процесса (обычно {MACHINE} \ ASPNET в IIS 5 или Network Service в IIS 6 и IIS 7 и настроенный идентификатор пула приложений в IIS 7.5), который используется, если приложение не олицетворяет собой.Если приложение олицетворяет себя с помощью идентификатора, это будет анонимный пользователь (обычно IUSR_MACHINENAME) или аутентифицированный пользователь запроса.

Чтобы предоставить ASP.NET доступ к файлу, щелкните правой кнопкой мыши файл в проводнике, выберите «Свойства» и перейдите на вкладку «Безопасность».Нажмите «Добавить», чтобы добавить соответствующего пользователя или группу.Выделите учетную запись ASP.NET и установите флажки для требуемого доступа.

Ошибка источника:

Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение.Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[UnauthorizedAccessException: доступ к пути 'D: \ Hosting \ 9078263 \ html\ Uploads \ Sleep Away.mp3 'запрещен.] System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) +9717806 System.IO.FileStream.Init (Строковый путь, режим FileMode, доступ к FileAccess, права Int32, логическое использование useRights, FileShare, Int32 bufferSize, параметры FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) +1142 System.IO.FileStream..ctor (строковый путь, режим FileMode, доступ FileAccess, файл FileShare, файл FileShare, параметры опции3232Oz32,, String msgPath, Boolean bFromProxy) +78 System.IO.FileStream..ctor (путь строки, режим FileMode) +71 System.Web.HttpPostedFile.SaveAs (имя файла строки) +99 profile.btnUpload_Click (Отправитель объекта, EventArgs e) +1231

[Исключение: ошибка данных: запись не была добавлена] profile.btnUpload_Click (Отправитель объекта, EventArgs e) +1374 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +118 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +112 System.W.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, строковый аргумент Event.WeWeb.WeE.Web.WeE.WeE.postData) +36 System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) + 5563

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Я вступил в контакт с goDaddy, и они просто сказали, что это не имеет к ним никакого отношения, так как у меня есть разрешение на любые действия на их хостинге. Хотя это правильно, они не указали мне направление, как решить проблемы. На мой взгляд, не очень полезно и никогда не было такого опыта, у меня никогда не было общего хостинга. если это VS, я могу просто контролировать все в настройках IIS. Поэтому я просматривал их блоги и нашел эту статью, которая решила проблему. Спасибо, ребята, за вашу помощь.

http://support.godaddy.com/help/3970/what-is-the-absolute-or-direct-path-for-my-windows-asp-hosting-account

0 голосов
/ 16 марта 2012

Неправильно, вам понадобятся права на загрузку в папку, даже в корневую папку приложения.

Это то, что ваш хост должен уметь сортировать, и я уверен, что в прошлом у них были похожие запросы от других пользователей.

...