2014-01-24 6 views
0

Я создаю сайт с модулем загрузки изображений. На моем сервере localhost он работает отлично. Это означает, что я могу загружать изображения и сохранять их. Но когда я принимаю решение, я получаю сообщение об ошибке. То есть доступ к пути запрещен.Загрузка файла на сервер

Это код, который я использовал ...

string fileName = FileUpload1.FileName.ToString(); 
string uploadFolderPath = "~/up_foto/"; 
string filePath = HttpContext.Current.Server.MapPath(uploadFolderPath); 
FileUpload1.SaveAs(filePath + "\\" + fileName);` 

Что плохого в этом .. Пожалуйста, помогите мне .... Заранее спасибо ....

+0

1.) Используйте 'Path.Combine (' вместо добавления строки вместе, 2.) делает '~/up_foto /' существует на сервер назначения, который не работает? –

+0

также проверьте, есть ли в папке '~/up_foto /' для чтения/записи. –

+0

Как проверить, что папка имеет право на чтение/запись? – user3159647

ответ

1

Я боюсь в коде нет ничего плохого, если он работает локально. Вместо этого вы должны убедиться, что в среде хоста пользователь «IUSER» или «IIS_IUSER» или тому подобное имеет доступ (чтение/запись) к папке загрузки.

0

Поскольку вы получаете «Доступ к пути запрещен», Вы проверили папку, которую вы пытаетесь загрузить, имеющий доступ на запись

+0

Как я могу проверить, что папка имеет такие разрешения ??? – user3159647

+0

@ user3159647, если у вас есть панель управления для размещения вашего сайта, будет раздел разрешений для папок, который вы можете использовать. Или Если у вас есть учетная запись FTP и вы используете Filezilla для загрузки файлов, вы можете щелкнуть правой кнопкой мыши по папке, которую вы загружаете, и предоставить необходимые разрешения. –

0

вы можете использовать Path.Combine или Server.MapPath (не забудьте добавить System.IO в пространствах имен)

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath1 = Server.MapPath(uploadFolderPath + fileName); 

или

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath = Server.MapPath(uploadFolderPath); 
     string filePath1= Path.Combine(filepath1 + fileName); 
Смежные вопросы