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
