Member 12605293 Ответов: 2

Проблема с путем загрузки файла "не является допустимым виртуальным путем".


Привет я дал путь загрузки файла и он не сохраняет загруженный файл в каталоге

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

String targetFolder =  Server.MapPath("~D:\\New folder");
file.SaveAs(Path.Combine(targetFolder, "file.txt"));

Prateek Dalbehera

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

Эта ссылка "https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload с.сохранить как(в=и 110).aspx, который" может помочь.

Member 12605293

Привет Пратик
Файл загружается, но не сохраняется в моем локальном хранилище.Сообщение об ошибке "это не виртуальный путь"

2 Ответов

Рейтинг:
16

Graeme_Grant

Сервер.Метод MapPath[^]

Есть такое Осторожность на приведенной выше странице:

Цитата:
По соображениям безопасности, в собственность AspEnableParentPaths имеет значение по умолчанию-false. Скрипты не будут иметь доступа к физической структуре каталогов, если для AspEnableParentPaths не установлено значение TRUE.


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


Рейтинг:
1

Jignesh Khant

string folderPath = Server.MapPath("~/Files/");
       
    //Check whether Directory (Folder) exists.
    if (!Directory.Exists(folderPath))
    {
        //If Directory (Folder) does not exists. Create it.
        Directory.CreateDirectory(folderPath);
    }
 
    //Save the File to the Directory (Folder).
    FileUpload1.SaveAs(folderPath + Path.GetFileName(FileUpload1.FileName));