| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > путь в mappath указан неверно(закачивание файла с |
| Автор: Ivankult 8.9.2008, 18:20 |
| Проблема передачи файла от клиента на сервер. if (upload_file.PostedFile != null) { string filename = upload_file.FileName.ToString(); string myfile = System.IO.Path.GetFileName(filename); try { upload_file.PostedFile.SaveAs(Server.MapPath(Sessi on["user"].ToString()) + "" + myfile); } catch (UnauthorizedAccessException) { } } ошибка: путь в MapPath указан неверно. как правильно? и куда будет сохраняться файл? Sessi on["user"].ToString() равно null |
| Автор: pr0fess0r 9.9.2008, 10:17 |
| Я наверно ошибаюсь или этого не знаю, но это Server.MapPath(Sessi on["user"].ToString()) вроде бред. Создай папку например upload, укажи ее. Если надо в не делай папки с именами юзеров. |
| Автор: TaganMorgul 9.9.2008, 13:28 |
| Server.MapPath("~") вернёт вам физ путь к корню вашего сайта, а уж потом от этого и нужно плясать. ЗЫ Посмотрите ещё класс VirtualPathUtility - содержит много полезных в этом случае методов. |
| Автор: Ivankult 9.9.2008, 16:24 |
| ээ, мне надо путь к файлу у юзера на компьютере, откуда передавать файл |
| Автор: pr0fess0r 10.9.2008, 11:38 |
| ну тагда вот HttpContext.Request.Files["id"] - содержит имя переданого файла и его содержимое и т.д. Сервер сам не лазит к юзеру за файлом по указаному пути, файл передает клиентская сторона. |
| Автор: Zakonnic 17.9.2008, 11:36 | ||
Та не, ну что вы прям. Человек использовал компонент FileUpload, но видимо скопировал код откуда-то и не в курсе, что это за Session["user"]. С этим компонентом путь у юзера знать не обязательно, upload_file.PostedFile сразу дает доступ к файлу. Остается лишь сохранить его на сервере и занести в базу. И вот тут начинается пляска с правами (под админом, небось, сидите ;) ). Код то простой:
А вот разрулить права, чтобы он работал (особенно при имперсонализации) это уже совсем другая история) |
| Автор: Mymik 17.9.2008, 12:23 | ||
потому, имхо, файлы в базу... ибо замучаешься удалять, редактировать и прикреплять файлы к пользователям |
| Автор: Idsa 17.9.2008, 12:36 |
Ненене. Не надо файлы в базу |
| Автор: Mymik 18.9.2008, 12:22 |
ИМХО на любителя... при условии, что пользователь будет удалять, редактировать, просматривать файл, да еще и со своим именем... Тут слишком много придется мучаться с названиями, разграничениями доступа к файлам и чтобы они друг-друга не затерли. А так, в базу залил, настроил foreign key constraint и бог тебе в помощь |