Writing byte stream as jpeg format to disk
navkirats at gmail.com
Thu Aug 26 22:14:40 CEST 2010
On 27-Aug-2010, at 1:32 AM, Dave Angel wrote:
> Navkirat Singh wrote:
>> Hey guys,
>> I am programming a webserver, I receive a jpeg file with the POST method.The file (.jpeg) is encoded in bytes, I parse the bytes by decoding them to a string. I wanted to know how i could write the file (now a string) as a jpeg image on disk. When I try to encode the same string to a bytes and write them in binary format to disk, the file is not recognized as jpeg. I would be grateful if someone could help me with this.
> If by "decoding them to a string" you mean converting to Unicode, then you've already trashed the data. That's only valid if the bytes had been encoded from valid Unicode characters, and then only if you use the corresponding decoding technique.
> If you mean some other decoding, then the question is meaningless without telling us just what the decoding is, preferably with some code.
> It also might be useful to know what version of Python you're using, when you post the code.
I am using Python3 and I receive a byte stream with a jpeg attached sent by the web browser over a socket, which looks like this:
b': image/jpeg\r\nAccept: text/*\r\nReferer: http://127.0.0.1:8001/\r\nAccept-Language: en-us\r\nAccept-Encoding: gzip, deflate\r\nContent-Length: 91783\r\nConnection: keep-alive\r\n\r\n\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00\x84\x00\x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\x08\x05\x05\x04\x04\x05\n\x07\x07\x06\x08\x0c\n\x0c\x0c\x0b\n\x0b\x0b\r\x0e\x12\x10\r\x0e\x11\x0e\x0b\x0b\x10\x16\x10\x11\x13\x14\x15\x15\x15\x0c\x0f
From the above, I need to:
a) Split the header content from the image content, which comes after the keep-alive\r\n\r\n part
b) Then write the image content to file for further use as a jpeg.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list