Följande funktion fungerar bra så länge URL pekar mot en aspx sida. > HttpWReq.Method = "POST" Hjälper inte att ändra till get! Du behöver ändra mer än POST till GET. När man gör HTTP POST så skickar men info till servern för att den ska utföra något, medan en HTTP GET hämtar info. Vid en GET så skickar men ingen info till webservern (förutom HTTP-headers). Ta därför bort ContentLength, ContentType och myWriter. Exemplet nedan hämtar en GIF bild från dn.se. Kanon! exempelkod..HttpWebRequest
    
    
Hur ska man göra om man vill peka på en jpg bild i URL'en?
Får Method Not Allowed på följande rad:
Dim HttpWResp As HttpWebResponse = CType(HttpWReq.GetResponse(), HttpWebResponse)
Private Function Stream(ByVal URL As String)
        Dim Result As String
        Dim strPost As String = "x=1&y=2&z=YouPostedOk"
        Dim myWriter As StreamWriter = Nothing
        Dim HttpWReq As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest)
        HttpWReq.Method = "POST"
        HttpWReq.ContentLength = strPost.Length
        HttpWReq.ContentType = "image/jpg" '"application/x-www-form-urlencoded" 
        Try
            myWriter = New StreamWriter(HttpWReq.GetRequestStream())
            myWriter.Write(strPost)
        Catch e As Exception
            Stream = e.Message
        Finally
            myWriter.Close()
        End Try
        Dim HttpWResp As HttpWebResponse = CType(HttpWReq.GetResponse(), HttpWebResponse)
        Dim sr As New StreamReader(HttpWResp.GetResponseStream())
        Result = sr.ReadToEnd()
        Stream = Result
    End FunctionSv: HttpWebRequest
    
    
Felet är här. Du kan inte POST:a till en jpg-bild, endast till skriptfiler. Ändra till "GET".Sv: HttpWebRequest
    
    
Då stupar han på följande rad:
myWriter = New StreamWriter(HttpWReq.GetRequestStream())Sv: HttpWebRequest
    
    
<code>
        Dim URL As String = "http://www.dn.se/content/2/c2/10/dnlogo.gif"
        Dim Result As String
        Dim HttpWReq As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest)
        HttpWReq.Method = "GET"
        Dim HttpWResp As HttpWebResponse = CType(HttpWReq.GetResponse(), HttpWebResponse)
        Dim sr As New StreamReader(HttpWResp.GetResponseStream())
        Result = sr.ReadToEnd()
        MsgBox(Result)
</code>
Resultatet blir iofs i detta fall binär data som inte kan visas i en dialog. Du får läsa in det i en stream, skapa en bitmap och visa bilen. Det är faktiskt löjligt enkelt i .NET, se exemplet nedan. Allt jag gjorde var att lägga ut en PictureBox på mitt formulär.
<code>
        Dim HttpWReq As HttpWebRequest = CType(WebRequest.Create("http://www.dn.se/content/2/c2/10/dnlogo.gif"), HttpWebRequest)
        HttpWReq.Method = "GET"
        Dim HttpWResp As HttpWebResponse = CType(HttpWReq.GetResponse(), HttpWebResponse)
        ' Create a Bitmap from the response stream 
        Dim b As New Bitmap(HttpWResp.GetResponseStream())
        ' Load the data into a PictureBox
        PictureBox1.Image = b
</code>
  /MattiasSv: HttpWebRequest
    
    
Men lyckas dock ej läsa upp den i webläsaren!
Har en sida med följande kod:
<img src="streamTest.aspx" border="0">
StreamTest.asp ska i sin tur läsa upp filen i img taggen.Sv: HttpWebRequest
    
    
bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Din WebForm "img.aspx" skall vara helt tom och ha rätt content-type.
Du kanske kan skippa Image/Bitmap objekt och dirigera din inkommande ResponseStream till OutputSream i stället.. jag har inte testat men du borde kolla det..  :)
(kan spara en del minne på servern = mer skalbart system)
Ola