我有一个 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
的开头而不是请求正文开始读取。这会导致我的 MD5 校验和失败,顺便说一句,这很好,因为我知道出了点问题。
有没有办法让我阅读实际的请求正文而不仅仅是原始请求?