2014-05-22 3 views
1

현재 .NET의 Paths를 사용하고 있으며 웹 서비스의 문자열로 전달 된 로컬 폴더 구조를 복제하는 것과 관련하여 어려움을 겪고 있습니다. IIS Express의 localhost에서 실행되는 사이트.로컬 폴더 구조를 서버의 폴더 구조로 변환

기본적으로 사용자는 데스크톱 소프트웨어에서 이미지를 선택합니다. 로컬 경로는 Google 웹 서비스의 이미지 속성으로 전송됩니다.

C:\\Users\\axumadmin\\Pictures\\axumImages\\Countries\\Canada\\canadianFlag.jpg 

FTP는 우리의 서버에 지정된 디렉토리에이 폴더 구조를 어떻게 우리의 사용자가 다음 할 것입니다 :

ServerRoot\\umbraco\\axumImages\\Countries\\Canada\\canadianFlag.jpg 
내 스크립트는 웹 서비스를 액세스 할 때, 그것은 문자열 등을 공급

내가 가진 주요 문제는 웹 서비스에서 검색된 경로를 수정하여 axumImages의 디렉토리 만 반환하도록 할 수는 없다는 것입니다. 그래서 본질적으로 내 로컬 경로로 변환 될 것입니다 :

axumImages\\Countries\\Canada\\canadianFlag.jpg 

나는 이미 내가 돌려 받기를 원하시면하지만 궁극적으로 내가 그렇게 acheived 한 형식으로이 경로를 변환하는 System.IO.Path와 함께 연주 시도 지금까지 중 단지 이미지 파일 이름을 불러 오는됩니다 :

C:\\Users\\axumadmin\\Pictures\\axumImages\\Countries\\Canada 

따라서 내 질문은, 어떻게 문자열을 구문 분석 할 수있다

canadianFlag.jpg 
System.IO.Path.GetFileName(image.FileName); 

또는 이미지의 상위 디렉토리를 그 때문에 내가 axumImages와 그 자손만을 사용하고 있습니까?

도움을 주시면 감사하겠습니다.

+0

지금까지 무엇을 시도 했습니까? 사용자 *는 항상 C : \\ Users \\ \\ Pictures'에서 업로드 할 예정입니까? – wal

+0

나는 위에서 언급했다. System.IO.Path에서 제공되는 다양한 메서드를 시도해 보았습니다. 내 다음 단계는 C#에서 문자열 분석을 처리하여 문자열을 구문 분석하고 axumImages를 포함하여 모든 것을 검색 할 수 있도록하는 방법을 살펴 보려고했습니다. \\ – jezzipin

+0

string test = image.FileName.Split (new [] { "axumImages"}, StringSplitOptions.None) [1]; – jezzipin

답변

1

사용 :

C:\\Users\\axumadmin\\Pictures\\axumImages\\Countries\\Canada\\canadianFlag.jpg 

이 그때 그때 필요한 경로 금액이 아래로 떨어지면 사용할 수있는 변수에이를 연결할 수 있습니다

\\Countries\\Canada\\canadianFlag.jpg 

돌아갑니다 string.Substring

var startIndex = image.FileName.IndexOf("axumImages"); 
string test = image.FileName.Substring(startIndex, image.FileName.Length-startIndex) 
0

결국 문자열 분석을 사용하여이 문제를 해결했습니다.

string test = image.FileName.Split(new[] { "axumImages" }, StringSplitOptions.None)[1]; 

이 예에서 image.Filename은 내 파일 이름입니다. 그래서 파일 이름 인 경우 :

var actualPath = "axumImages" + "test"; 
+1

그래도 작동하지만 다음 시간에는 더 깨끗하고 더 좋습니다. var startIndex = image.FileName.IndexOf ("axumImages"); string test = image.FileName.Substring (startIndex, image.FileName.Length-startIndex) ' – wal

+1

더 깨끗하고 나은 이유는 무엇입니까?당신은 여기에 C#과 .Net을 배우는 Javascript 개발자와 이야기하고 있습니다 :-) – jezzipin

+1

문자열을 여러개의 토큰으로 나눌 때 (예 : CSV 파일에서 개별 필드를 얻는 경우) Split을 사용합니다) - 문자열의 부분 문자열 (정확한 경우)을 원할 때 서브 문자열을 사용해야하고 코드 에서처럼 'axumImages' 문자열을 끝에 다시 추가 할 필요가 없습니다. – wal

관련 문제