【问题标题】:How to return image path to client with http handler如何使用 http 处理程序将图像路径返回给客户端
【发布时间】:2014-11-06 11:28:56
【问题描述】:

我在我的项目中使用Http Handler,我想当客户端向我发送一个简单的请求时,我想在服务器上读取我的文件并将我的图像文件url返回给客户端,然后客户端读取这个url并下载图片。

【问题讨论】:

    标签: asp.net httphandler


    【解决方案1】:

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

    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
    

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      相关资源
      最近更新 更多