Image 서버의 임의의 절대 경로 아래 그림 보이기

2570 단어
나는 이러한 수요를 실현하고자 한다. 데이터베이스에 저장된 것은 사진이 있는 절대 경로(시스템이 있는 경로 아래에 있지 않아도 된다), Image 컨트롤러가 동적 로드 경로 아래의 그림이다.
이 제목을 보고 어떤 사람들은 이것이 쉽지 않다고 말할 것이다. URL을 직접 절대 경로로 설정하면 되잖아.만약에 네가 이렇게 말한다면 네가 생각을 하지 않았고 심지어 웹 개발에서 프론트 데스크톱과 백엔드 코드가 도대체 무슨 뜻인지 알지 못했을 뿐이다. 그러나 이런 방법은 자신이 할 때(IIS에 도착하지 않았을 때) 소견 브라우저는 그림을 표시할 수 있다(이것만 표시할 수 있기 때문에 이런 방법은 의미가 없다).
Image 컨트롤은 System에 있습니다.Web.UI.Web Controls 이름 컨트롤에서 winform에서처럼 byte[]를 통해 그림을 직접 표시할 수 없습니다. (개인적으로도 이 말을 잘 모르는데, 누가 알면 설명할 수 있습니다.)이 방법은 그림을 읽은 다음 읽은 바이너리 흐름을 한 페이지에 쓴 다음 Image의 URL을 이 페이지로 설정하는 것입니다.다음은 제 데모 구현 코드입니다.
프론트 데스크 코드:
<head runat="server">
    <title></title>
    <script src="jquery-1.7.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function ShowP(obj) {
            $("#Image1")[0].src = "ShowPic.aspx?URL=" + obj.id;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="E:\\1.jpg" type="button" value="button" onclick="ShowP(this);" />
        <asp:Image ID="Image1" runat="server" />
    </div>
    </form>
</body>
</html>

ShowPic.aspx의 프론트 데스크 코드는 비어 있습니다. 다음은 Show Pic.aspx 백그라운드 코드:
public partial class ShowPic : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            #region "      ,          "
            string strUrl = Request.QueryString["URL"];
            
            //          
            FileStream aFile = new FileStream(strUrl, FileMode.OpenOrCreate, FileAccess.ReadWrite);
            //              ,        
            BinaryReader brMyfile = new BinaryReader(aFile);
            //                
            brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
            //         
            byte[] photo = brMyfile.ReadBytes(Convert.ToInt32(aFile.Length.ToString()));
            //     new     
            brMyfile.Close();
            #endregion

            Response.BinaryWrite(photo);
        }
    }

위에서 나는 사진의 경로를 단추 ID에 부여한 다음에 경로를 매개 변수로 Show Pic.를 호출했다.Spx, ShowPic의 백엔드 코드에서 사진을 2차원 그룹 형식으로 페이지에 씁니다. 이 페이지를 직접 열면 난코드가 표시됩니다.
그런 다음 Image Url을 이 페이지로 설정하면 그림이 표시됩니다.저는 버튼 ID를 통해 동적 이미지 불러오기를 실현했습니다. 구체적인 응용에 이르기까지 약간의 인용 질문이 있습니다. 자바스크립트 인용에 관해서는 여러분이 직접 예를 들어 자바스크립트 디버깅 도구를 통해dom 구조를 이해하고 조작해야 합니다.

좋은 웹페이지 즐겨찾기