我有一个Django视图,它接受PUT
上传的文件。我已经创建了自己的上传处理程序,并按照这样的方式处理数据:
handler = MD5ChecksumUploadHandler()
handler.new_file(field_name="file", file_name="unknown",
content_type=request.META.get('CONTENT_TYPE', 'application/octet-stream'),
content_length=int(request.META.get('CONTENT_LENGTH', 0)))
upload_size = 0
while True:
# read the request body in chunks
chunk = request.read(handler.chunk_size)
if chunk:
handler.receive_data_chunk(chunk, start=None)
upload_size += len(chunk)
else:
break
# return the MD5ChecksumUploadedFile
return handler.file_complete(upload_size)
正如我发现的那样,request.read
方法开始在实际请求的开头读取,而不是请求 body 。这导致我的MD5校验和失败,这是偶然的好,因为我知道出了问题。
我有没有办法阅读实际的请求主体而不仅仅是原始请求?
答案 0 :(得分:0)
我提出的请求很糟糕,这就是我的问题所在:
Content-MD5\n: XXXXXXXXXXXXXXXXXXXXX
如果您遇到此问题,请检查您的请求。