2010-10-02 6 views
0

Я контролирую проблему с данными, которые загружаются методом POST, в Интернете. Если файл представляет собой текст, проблема не возникает, но проблема возникает, когда это закодированный файл, как изображение или другое. Что когда система вставляет данные в файл. Ну, это не правильно закодировано. Вложу весь код, из области, Что взять окруж [ «wsgi.input»] к Thats области сохранения файла:Проблема с сохранением загруженных файлов в Python3

# Here the data from the environ['wsgi.input'], 
# first i convert the byte into a string delete the first 
# field that represent the b and after i strip the single quotes 
tmpData = str(rawData)[1:].strip("' '") 
dat = tmpData.split('\\r')#Then i split all the data in the '\\r' 
s = open('/home/hidura/test.png', 'w')#I open the test.png file. 
for cont in range(5,150):#Now beging in the 5th position to the 150th position 
s.write(dat[cont])#Insert the piece of the data in the file. 
s.close()#Then closed. 

Где ошибка?

Благодарим заранее.

ответ

1

Почему вы преобразовываете двоичные данные в строку? Файл png - двоичные данные. Просто напишите двоичные данные в файл. Вам также нужно открыть файл в двоичном режиме.

s = open('/home/hidura/test.png', 'wb') 
s.write(data) 
Смежные вопросы