2017-09-01 6 views
0

Je suis actuellement en train de mettre en œuvre le streaming de caméra sur une application web.Page Web VB Razor pour afficher une image à partir d'une URL distante sur la page?

J'ai une page Poll_Camera.vbhtml, en accédant à cette page je veux que la page ne rende que l'image produite à partir de l'URL distante.

Chaque fois que l'URL est accédée, elle produit une nouvelle image de cliché à partir de la caméra.

Quelle serait la meilleure façon de faire cela?

J'ai besoin d'actualiser l'image toutes les secondes.

J'ai essayé d'utiliser

Dim CameraResponse As WebRequest = WebRequest.Create(CameraUri) 

J'ai réussi à le faire avec Javascript/Ajax, mais ce n'est pas idéal puisque l'URL contient le nom d'utilisateur et mot de passe pour la caméra. Je ne veux pas non plus télécharger l'image d'abord dans un répertoire local.

Un autre morceau de code que j'ai essayé où je reçois la réponse à l'écran, mais je pense que l'encodage ou quelque chose peut-être tort: ​​

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 

Je reçois la sortie suivante à l'écran

HaveJFIF

J'ai essayé de régler ce qui suit, mais j'ai ensuite un écran noir.

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

Toute aide serait grandement appréciée.

+0

J'ai réussi à résoudre cela avec 2 lignes de code. Va poster une réponse ci-dessous. – Deedz

Répondre

0

Géré pour résoudre ce qui précède en utilisant ce qui suit. Code facile et minimal.

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 

Maintenant, je peux analyser l'URL cryptée à mon Poll_Camera.vbhtml, décrypter sur la page et la page sera rendu image de la caméra comme jpeg.