2012-10-10 4 views
0

이미지 파일 이름은 vendorID 앞에 "200018hari"와 같이 고유하게 저장됩니다. 아래 그림은 filename이 열 Cmp_DocPath에 저장된 테이블을 보여줍니다.서버 폴더에서 특정 ID 이미지를 표시하는 방법

The Table where the filename is stored in the column Cmp_DocPath

나는 서버 폴더에서 특정 VendorID 이미지를 표시합니다. : 사용자가 드롭 다운리스트에서 vendorID을 선택하면 "D \ 업로드 \ 상업 인증서"(사진 전체 양식 디자인을 표시하지 않습니다 드롭 다운리스트와 함께.)

Form design

나는 인라인 코드에서 이것을 시도하지만, 이미지를 표시하지. 그러나 사용자가 드롭 다운에서 다른 VendorID을 선택하면 이것이 도움이되지 않을 것이라는 것을 알고 있습니다.

C#의 코드 숨김으로 어떻게 할 것인가? 당신이 VendorID와 관련된 이미지 (Cmp_DocPath)를 얻으려고 노력하는 경우

<asp:Image ID="Image1" runat="server" Height="400px" Width="400px" 
    ImageUrl ="AdminCompanyInfo.aspx?FileName=~/Upload/Commerical Certificates/200027mcp.png"/> 
+2

클라이언트가 무언가를 다운로드하려는 서버의 경로를 정의 할 수 있다면 보안 문제와 같은 소리가납니다. (그러면 web.config를 다운로드하는 것은 어떻습니까?) –

+0

클라이언트는 파일 업로드를 사용하여 이미지를 업로드합니다. IIS의 가상 경로를 만들고 업로드 된 이미지를 저장할 경로를 제공합니다. 그래서 클라이언트는 서버의 경로를 정의하지 않습니다. 화면에 표시 할 폴더에서 이미지를 검색하기 위해 C# 코드가 필요합니다. – Hari

답변

0

내 친구들의 조언을 듣고 이미지를 물리적 경로 "D : \ Upload"에 저장하는 코드를 변경하고 업로드 된 이미지를 "D : \ inetpub \ wwwroot \"에 저장합니다. 마지막으로 IIS에서 가상 디렉터리를 만들고 "D : \ inetpub \ wwwroot \ Upload"를 실제 경로로 지정합니다. 아래의 C# 코드는 가상 경로에서 이미지를 검색합니다.

 private void CallImage() 
     { 
     SqlConnection SqlCon = new SqlConnection(GetConnectionString()); 
     SqlCon.Open(); 
     string query = "SELECT FilePath FROM CompanyInfo 
       WHERE VendorID= '" + ddlVendorID.SelectedValue + "'"; 
     SqlCommand SqlCmd = new SqlCommand(query, SqlCon); 
     SqlDataAdapter da = new SqlDataAdapter(SqlCmd); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     string ImageName = Convert.ToString(dt.Rows[0][0].ToString()); 
     Image1.ImageUrl = ("~\\Upload\\Commerical Certificates\\" + ImageName); 
     SqlCon.Close(); 
    } 
+0

무단 액세스로부터 이미지를 보호하려면 어떻게해야합니까? – dellyjm

0

, 당신은 Generic Handler를 사용해야합니다. 다음은 Generic Handler의 기술이어야합니다. 이 진 배열은 요청에 응답하여 배열을 쓸 것이다 후

  • 에 이미지 파일을 읽어 후 Generic Handler 데이터베이스
  • 에서 이미지 이름을 읽을 것이다

    1. .

    정상 작동해야합니다.

  • +0

    '''''''''''''''''''코드 형식화 스타일은''매우 인기가있는''것 같습니다. –

    +0

    @UweKeim :: 당신은 무엇을 의미 했습니까? –

    관련 문제