Bild aus Internet laden (erledigt)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

FuM4nnSchU

Betreff: Bild aus Internet laden (erledigt)

BeitragSa, Jul 14, 2007 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
ich möchte mit einem programm ein bild aus dem internet direkt laden
ungefähr so hab ich mir das vorgestellt

Code: [AUSKLAPPEN]
image=loadimage("http://www.server.de/daitei.bmp")


image ist danach aber immer noch leer....
was mache ich falsch?

*EDIT*
OK hat sich erledigt hab das Problem alleine gelöst:

Code: [AUSKLAPPEN]
Function LoadWebFile( srcFile$, dstFile$ )
   Local BUFFER_SIZE = 65536
    Local TCPStream, tmpPos, dataSize, tmpBank
    Local Host$ = "", HTTPHeader$ = ""
    Local Buffer = BUFFER_SIZE
 
    If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 )
     
    tmpPos = Instr( srcFile$, "/" )
     
    If ( tmpPos ) Then
       Host$ = Left( srcFile$, tmpPos - 1 )
       srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 )
    Else
       Host$ = srcFile$
       srcFile$ = "/"
    End If
     
    TCPStream = OpenTCPStream( Host$, 80 )
     
    If ( Not TCPStream ) Then
       RuntimeError( "Fehler beim verbinden zu: " + Host$ )
    End If
     
    WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" )
    WriteLine( TCPStream, "Host: " + Host$ )
    WriteLine( TCPStream, "Accept: */*" )
    WriteLine( TCPStream, Chr$( 10 ) )
     
    Repeat
       HTTPHeader$ = ReadLine( TCPStream )
 
       If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then
          dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 )
       End If
    Until HTTPHeader$ = "" Or Eof( TCPStream )   
     
    If ( dataSize > 0 )
       file = WriteFile( dstFile$ )
       tmpBank = CreateBank( Buffer )
       
       bytesReaded = 0
       
       Repeat         
          bytesRemaind = dataSize - bytesReaded
           
          If ( bytesRemaind < BUFFER_SIZE ) Then
             Buffer = bytesRemaind
          End If
             
          s = ReadBytes( tmpBank, TCPStream, 0, Buffer )
          WriteBytes( tmpBank, file, 0, s )
             
          bytesReaded = bytesReaded  + s
       Until s <> BUFFER_SIZE
       
       CloseFile( file )
       CloseTCPStream( TCPStream )
       FreeBank( tmpBank )
    End If
End Function

BtbN

BeitragSa, Jul 14, 2007 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest auf nen Problem stoßen, wenn der Server dir mit Chunked-Daten antwortet. Nimm lieber HTTP/1.0, biste auf der sicheren Seite mit.

FuM4nnSchU

BeitragSo, Jul 15, 2007 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
was sind chunked daten?
I've got the whole world in a string!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group