Я думаю, что дошел до сути вашей проблемы.
1) Вы пытаетесь запустить .read () для объекта запроса, что недопустимо. Вместо этого вам нужно запустить его на request.raw_post_data.
2) Прежде чем вы сможете запустить .read (), который принимает объект, подобный файлу, вам необходимо преобразовать его из str в объект, подобный файлу.
Попробуйте это:
import StringIO
output = StringIO.StringIO()
output.write(request.raw_post_data)
... теперь вы сможете запустить output.read () и получить нужные данные.
#loop through, writing more of the file each time
file_so_far = output.read( 1024 ) #Get ready....
while file_so_far: #..get set...
dest.write( file_so_far ) #Go.
file_so_far = output.read( 1024