Member 12693375 Ответов: 1

Доступ к пути запрещен ошибка в C#


Когда я пытаюсь загрузить байтовое изображение в папку, оно выдает мне ошибку типа:

Доступ к пути запрещен ошибка в C#

Что я уже пробовал:

строке filename = "~/"+"фото" + "/Profile_Pic" + "/" + функция user_id;
var directory = new DirectoryInfo(HttpContext. Current.Сервер.MapPath(имя файла));
если (справочник.Существует == ложь)
{
каталог.Создавать();

}



byte[] imageBytes = Convert.FromBase64String(ImageByteArray);
Системы.ИО.Файл FileStream = система.ИО.Файл.Создать(Объект HttpContext.Тока.Сервер.MapPath ("~/Images/Profile_Pic/ " + User_Id));

файл.Запись (imageBytes, 0, imageBytes.Длина);
файл.Закрывать();

[no name]

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

Member 12693375

я уже предоставил свою папку, а что дальше?

1 Ответов

Рейтинг:
1

Jochen Arndt

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

string directoryName = "~/Images/Profile_Pic/" + User_Id;
// ...
System.IO.FileStream file = System.IO.File.Create(HttpContext.Current.Server.MapPath(directoryName + "/UserPic.ext"));


Member 12693375

Спасибо за ваш ответ.но не радует и просьба к вам пожалуйста не копируйте вставляйте код откуда-то сюда,если вы не знаете ответа.

Jochen Arndt

Я не копировал код. Я набрал его на основе того, что вы опубликовали, чтобы показать пример того, как это должно быть сделано. Почему я не должен этого делать?

Это и есть ответ. Это может быть не то, что вы ожидали, но определенно есть проблема с вашим кодом:
Вы проверяете, существует ли каталог, создаете его или нет, а затем пытаетесь создать файл с тем же именем. Это не сработает. Могут быть и другие ошибки, которые находятся вне поля зрения читателей Вашего вопроса. Но это не делает мое решение не ответом.