Server.MapPath выдает неверный путь, исключение «Формат данного пути не поддерживается» при работе на сервере IIS? - PullRequest
2 голосов
/ 19 ноября 2010

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

//save the file to the server
String savePath = Server.MapPath("..\\temp\\") + file;
FileUpload.PostedFile.SaveAs(savePath);

Когда я запускаю приложение на моем компьютере, оно возвращает путь:

"E: \ dotnet \ Project \ Реализация \ Исходный код \ Project \ Project.UI \ temp \ Sample.csv"

Однако при работе на реальном сервере выдается исключение:

System.NotSupportedException: The given path's format is not supported.

Ожидаемый путь, который я хотел бы указать, - это "C: \ inetpub \ wwwroot \ Project \ temp".

Я все делаю правильно или нет? Если нет, то может ли кто-нибудь объяснить мне правильный способ сделать это?

1 Ответ

1 голос
/ 19 ноября 2010

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

Server.MapPath("../temp/")

Вы также можете использовать корневой относительный путь:

Server.MapPath("~/temp/");
...