On 8/26/10 4:17 PM, Navkirat Singh wrote:

Here is what I needed to do:

a) Separate image content from header content of the byte stream received from 
the web browser.
b) Save the image content to disk for further use.

Here is what I did. Following is just a snippet:

        
        #-------------HERE IS WHERE I RECEIVE THE DATA
        while True:
                buff = socket.recv(8192)
                byteStr +=buff
                if not buff: break
        #--------------ENCODING/DECODING STARTS FROM HERE (since I want to use 
split/partition functions to separate header content from the image content)
        strMsg = byteStr.decode("ISO-8859-1")
        listMsg = strMsg.split('\r\n')
        #----------------------------
        # do some more processing to search the list for the image content, say 
supposing index is 11
        #---------------------------
        imageStr = listMsg[11].encode("ISO-8859-1") #Transform the byte string 
just the way I found it

If your JPEG happens to contain the bytes \r\n, then this will not work. Please follow our advice. Split using b'\r\n\r\n' and use the maxsplit=1 argument to make sure that you do not split on spurious b'\r\n\r\n' sequences inside the JPEG body. Do not decode the bytes.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to