2014-08-28 4 views
0

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

Из базы:

C: \ Users \ AlphaDog \ Desktop \ Alumni Пересмотренный \ AlumiTrackingSystem \ AlumiTrackingSystem \ AlumiTrackingSystem \ AlumiTrackingSystem \ образ \ Vince \ Tulips.jpg

должно быть изменено:

~/image/Vince/Tulips.jpg 
+0

Непонятно, что означает первый путь? Это где ваш сайт размещен? – Dalorzo

+2

Возможный дубликат [Получение относительного виртуального пути с физического пути] (http://stackoverflow.com/questions/6081433/getting-relative-virtual-path-from-physical-path) – gunr2171

+0

Первый путь - это корневой путь, где I сохранил его из базы данных. Затем мне нужно получить путь из базы данных, чтобы изменить изображение, но оно не может быть изменено. – User072912

ответ

0

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

string path = @"C:\Users\AlphaDog\Desktop\Alumni Revised\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\image\Vince\Tulips.jpg"; 
    string[] splitPath = path.Split('\\'); 
    int start = 0; 
    foreach (string s in splitPath) { 
     if (s == "image") 
      break; 
     else 
      start++; 
    } 
    string virtualPath = "~/"; 
    for (int i = start; start < splitPath.Length; start++) { 
     virtualPath += (i > start ? "/" : "") + splitPath[start]; 
    } 
0

я надеюсь, что это то, что вы ищете:

String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty); 

он должен работать, если ваше приложение путь Физическая:

C:\Users\AlphaDog\Desktop\Alumni Revised\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\ 
Смежные вопросы