VB Razor网页从页面上的远程URL渲染图像?

时间:2017-09-01 08:26:16

标签: vb.net razor ip-camera asp.net-webpages

我目前正在网络应用程序上实现Camera流。

我有一个页面Poll_Camera.vbhtml,访问此页面时,我希望页面只呈现从远程URL生成的图像。

每次访问URL时,都会从Camera生成一个新的快照图像。

最好的方法是什么?

我需要每隔一秒左右刷新一次图像。

我尝试过使用

Dim CameraResponse As WebRequest = WebRequest.Create(CameraUri)

我已经设法用Javascript / Ajax做到了这一点,但它并不理想,因为URL包含摄像头的用户名和密码。我也不想先将图像下载到本地目录。

我试过的另一段代码我在屏幕上得到了响应,但我认为编码或其他东西可能是错误的:

Try
    Dim request As HttpWebRequest = CType(WebRequest.Create(CameraUri), HttpWebRequest)

    Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)

    ' Get the stream associated with the response.
    Dim receiveStream As Stream = response.GetResponseStream()

    ' Pipes the stream to a higher level stream reader with the required encoding format. 
    Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)

    HttpContext.Current.Response.write(readStream.ReadToEnd())
    response.Close()
    readStream.Close()
Catch ex As System.Net.WebException
    'Error in accessing the resource, handle it
End Try

我在屏幕上看到以下输出

JFIF

我尝试过设置以下内容,但后来又出现黑屏。

Response.ContentType = "image/jpeg"
Response.Charset = "UTF-8"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

通过执行以下操作来管理以解决上述问题。简单易用的代码。

Try
    Dim webClient As New System.Net.WebClient
    Response.WriteBinary(webClient.DownloadData(siteUri), "image/jpeg")
Catch ex As System.Net.WebException
    'Error in accessing the resource, handle it
End Try

现在我可以将加密的URL解析为我的Poll_Camera.vbhtml,在页面上解密,页面会将相机图像渲染为jpeg。