2012-03-16 1 views
0

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

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

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

 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: \ Хостинг \ 9078263 \ html \ Uploads \ Sleep Away.mp3' запрещен.

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

Сведения об исключении: System.UnauthorizedAccessException: Доступ к пути «D: \ Хостинг \ 9078263 \ html \ Uploads \ Sleep Away.mp3» отклонен.

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

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

Источник ошибки:

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

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

[UnauthorizedAccessException: Доступ к пути 'D: \ хостинг \ 9078263 \ HTML \ загрузками \ Sleep Away.mp3' отрицается.] System.IO .__ Error.WinIOError (Int32 ERRORCODE , String maybeFullPath) +9717806 System.IO.FileStream.Init (String path, FileMode mode, FileAccess access, права Int32, логическое использованиеRights, общий доступ к FileShare, параметры Int32 bufferSize, FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) +1142 System.IO.FileStream..ctor (String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, параметры FileOptions, String msgPath, Boolean bFromProxy) +78 Sys tem.IO.FileStream..ctor (String path, FileMode mode) +71 System.Web.HttpPostedFile.SaveAs (String filename) +99 .btnUpload_Click (отправитель объекта, EventArgs е) +1231

[Исключение: Ошибка данных: Запись не была добавлена] profile.btnUpload_Click (отправитель объекта, EventArgs е) +1374 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +118 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +112 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler SourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent (NameValueCollection PostData) +36 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint , Boolean includeStagesAfterAsyncPoint) +5563

ответ

0

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

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

+0

Не забудьте отметить ответ для других пользователей. :) – ianbailey

0

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

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

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