2013-08-12 6 views
0

여기 메신저는 엑셀 파일을 생성하고 내 로컬 응용 프로그램 폴더에이 파일을 저장하려고하지만, 메신저 오류를 받고 "URI 형식이 지원되지 않습니다."내가 코멘트에서이오류 "URI 형식이 지원되지 않습니다."

File.WriteAllText(ClsCommon.ApplicationPath + "TR_Temp/" + "AssessmentSheet.xls", renderedGridView); 
+2

무엇이'ClsCommon.ApplicationPath'입니까? –

+2

항상 경로와 파일 이름을 만들려면 System.IO.Path.Combine()을 사용하십시오. – Heslacher

+0

ClsCommon.ApplicationPath 내 로컬 applcation path.its 줄 응용 프로그램 경로 – SANDEEP

답변

1

을 mgetting 이유 중 하나 말할 수있는 당신 ClsCommon.ApplicationPath"localhost:1682/TR-WEB-Corp"입니다. 즉, 경로가 "localhost:1682/TR-WEB-CorpTR_Temp/AssessmentSheet.xls" 인 파일에 쓰려고합니다.

이것은 경로가 아니며 URI입니다. 경로는 로컬 또는 네트워크 디스크의 경로이며 드라이브 이름 (C:, D: 등) 또는 네트워크 공유 이름 (\\network\share)으로 시작해야합니다.

또한 경로에 ClsCommon.ApplicationPath"TR_Temp/" 사이의 경로 구분 기호 (백 슬래시)가 누락 된 것 같습니다. @Heslacher가 주석에서 언급했듯이 System.IO.Path.Combine()을 사용하면 이런 종류의 버그를 피할 수 있습니다. 파일에 renderedGridView의 내용을 작성하는

string fileName = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "TR_Temp","AssessmentSheet.xls"); 
File.WriteAllText(fileName, renderedGridView); 

: 당신은 같은 유효한 파일 이름을 얻을 수있는 방법

System.IO.Path.GetTempPath() 
System.IO.Path.Combine() 

를 사용

관련 문제