2011-09-05 4 views
0

asp.net에서 컨트롤을 만드는 데 많은 시간을 할애하고 있습니다. 컨트롤은 텍스트와 이미지로 구성됩니다. 이미지는 그래프를 표시하는 데 사용됩니다. 컨트롤은 데이터베이스에서 그래프를 읽어 데이터를 가져옵니다. 이미지 상자에 그래프를 표시하는 두 가지 옵션이있는 것 같습니다. 첫째, 데이터에서 jpg를 만들고 서버에 파일을 저장할 수 있습니다. 그런 다음이 파일을 이미지 상자에로드 할 수 있습니다. 여러 사용자가 동시에 사이트에 액세스하려고하면 이것이 문제가 될 것이라고 생각하므로 좋은 선택이라고 생각하지 않습니다. 그때 내 컨트롤이 같은 이미지를 표시 할 수 있습니다 objBitmap.Save(Response.OutputStream, ImageFormat.Gif)asp.net에서 동적 그래픽 만들기

: 다른 옵션은 다음과 같이 그래프 출력 출력라는 파일을 만드는 것입니다 Image1.ImageUrl = "output.aspx"

내가 직면하고 문제입니다 I을 어떻게 내 컨트롤에서 출력 페이지로 데이터 가져 오기? 내가 아는 한 매개 변수로 전달할 데이터가 너무 많습니다. 그 일을 다른 더 좋은 방법이 있다면, 나에게 당신은 output.aspx의 반응에 이미지 내용을 기록 할 수

감사

답변

0

을 알려 주시기 바랍니다.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim strFilename As String 

     strFilename = Request.QueryString("filename") 

     Dim strPath As String = AppSettings("ProxyImageSavePath") & strFilename 

     Response.Clear() 
     Response.ContentType = "image/jpeg" 

     If Not IO.File.Exists(strPath) Then 
      'erm 
      Response.Write("file not found") 
     Else 
      Response.WriteFile(strPath) 
     End If 

     Response.End() 

    End Sub 

편집 : 기존 된 GetImage 페이지 중 하나에서 가져온 이런 식으로 뭔가 (. 난 그냥이 당신이 찾고있는 해결책이 될 수 없습니다 깨달았다, 웹 서버는하지만이 캐시 할 수 있어야한다

0

처리기가 필요합니다.이 문서의 Protecting Your Images 섹션의 "ImageHandler HTTP 처리기 만들기"섹션에서 처리기를 작성하는 방법을 코드에서 찾을 수 있으므로 이미지가 출력됩니다. 필요한 것은 전부는 아니며 단지 예 :
또한 핸들러를 web.config에 등록해야합니다.
참조 Image1.ImageUrl = "handler.ashx? graphdata = xxxx"입니다. QueryString을 사용하여 그래프를 생성 할 데이터 소스를 가져옵니다.

+0

감사합니다. 올바른 길로 나를 잡았습니다. 따라서 내 데이터는 데이터베이스의 특정 테이블에 저장됩니다. 테이블 이름뿐만 아니라 데이터베이스에있는 데이터의 인덱스를 보낸 다음 거기에서 읽어야합니까? 뭔가 : Image1.ImageUrl = "handler.ashx? table = sales & id = 10". 아니면 그것을하는 더 좋은 방법이 있습니다. – Johan

+0

환영합니다. 이것은 좋은 방법입니다. 나는 construction = s (단지 보안상의 이유)를 위해 table = sales 대신에 선택할 것이고 이것을 기반으로 어떤 쿼리를 사용할 것인지를 결정할 것입니다. –