2013-10-02 3 views
0

제목에 문제가 있습니다. 내 프로그램은 사용자에게 fileUpload로 그림을로드하도록 요청한 다음이 파일을 listBox에서 파일 이름으로 표시하고 그림에서 그림으로 표시해야합니다. 이미지 컨트롤에 그림을 표시하는 것을 제외한 모든 작업이 완료됩니다. 나는 이미 많은 포럼을 읽고 URL을 ~/\로 바꾸려고했지만 아무 도움이되지 않았습니다. B.tw., 폴더의 속성에서 액세스 보안을 변경하려고했지만 여전히 작동하지 않습니다. 그래서 내가 너를 도와달라고 부탁한다. 이것은 파일을로드하는 코드의 일부입니다.이미지 파일을 fileUpload로 서버에로드하고 읽으려고 시도합니다.

 string folderPath = Server.MapPath(@"~\images\"); 
     FileUpload1.SaveAs(folderPath + filename); 
     ListBox1.Items.Add(filename); 
     folderPath = System.Text.RegularExpressions.Regex.Replace(folderPath, @"\\", @"/"); //tried to do with and without this line 
     Image1.ImageUrl = folderPath + filename; 

내 잘못은 어디에 있습니까? localhost \ images \ pic.jpg에 주소를 입력하면 제대로 표시됩니다.

답변

1

파일 경로가 혼란 스럽습니다. Server.MapPath은 상대 경로를 사용하고 해당 상대 경로의 실제 파일 경로를 가져옵니다. 이미지는 이것을 사용할 수 없으며 상대 경로를 사용해야합니다.

귀하의 코드는 다음과 같아야합니다

string relPath = String.Format("~/images/{0}", filename); 
string filePath = Server.MapPath(relPath); 
FileUpload1.SaveAs(filePath); 
ListBox1.Items.Add(filename); 
Image1.ImageUrl = relPath; 
1

을 오류가이 라인에 있습니다

Image1.ImageUrl = folderPath + filename; 

이 시점 folderPath에서 것은 다 같은 것입니다 :/pathToApp/이미지/

관련 문제