Asp.net 如何使用http处理程序将映像路径返回到客户端

Asp.net 如何使用http处理程序将映像路径返回到客户端,asp.net,httphandler,Asp.net,Httphandler,我在我的项目中使用了一个Http处理程序,我想当客户端向我发送一个简单的请求时,我想读取服务器上的文件并返回到客户端我的图像文件url,然后客户端读取此url并下载图像。这是如何检索图像缩略图的示例,但您可以修改它来检索整个图片,不是缩略图 Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim ID As String = HttpCon

我在我的项目中使用了一个
Http处理程序
,我想当客户端向我发送一个简单的请求时,我想读取服务器上的文件并返回到客户端我的图像文件url,然后客户端读取此url并下载图像。

这是如何检索图像缩略图的示例,但您可以修改它来检索整个图片,不是缩略图

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim ID As String = HttpContext.Current.Request.QueryString("HotelCode")
        Dim con As String = ConfigurationManager.ConnectionStrings("hotelbedsConnectionString").ConnectionString
        Dim logCon As New SqlConnection(con)
        Dim cmd As New SqlCommand("Select ImagePath From HOTEL_IMAGES WHERE HotelCode = @HotelCode AND Order_='1'", logCon)
        cmd.CommandType = CommandType.Text
        cmd.Parameters.Add("HotelCode", SqlDbType.Int, 0).Value = ID
        logCon.Open()
        Dim MyData() As Byte
        Dim wc = New WebClient
        Dim path As String = cmd.ExecuteScalar()
        If path Is Nothing Then
            MyData = wc.DownloadData("http://www.blogasp.net/Images/nopic.jpg")
        Else
            MyData = wc.DownloadData("http://www.hotelbeds.com/giata/" & path)
        End If
        Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream(MyData)
        Dim img As System.Drawing.Image = Image.FromStream(ms)
        Dim w As Integer = 100 '*** Fix Width ***' 
        Dim ratio As Double = img.Height / img.Width
        Dim h As Integer = ratio * w
        Dim thumbnail As Image = New Bitmap(w, h)
        Dim graphics__2 As Graphics = Graphics.FromImage(thumbnail)
        graphics__2.InterpolationMode = InterpolationMode.HighQualityBicubic
        graphics__2.SmoothingMode = SmoothingMode.HighQuality
        graphics__2.PixelOffsetMode = PixelOffsetMode.HighQuality
        graphics__2.CompositingQuality = CompositingQuality.HighQuality
        graphics__2.DrawImage(img, 0, 0, w, h)
        Dim info As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
        Dim encoderParameters As EncoderParameters
        encoderParameters = New EncoderParameters(1)
        encoderParameters.Param(0) = New EncoderParameter(Encoder.Quality, 100L)
        thumbnail.Save(HttpContext.Current.Response.OutputStream, info(1), encoderParameters)
        logCon.Close()
        Finalize()
    End Sub