0

我有一个 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 校验和失败,顺便说一句,这很好,因为我知道出了点问题。

有没有办法让我阅读实际的请求正文而不仅仅是原始请求?

4

1 回答 1

0

我提出的请求很糟糕,这就是我的问题:

Content-MD5\n: XXXXXXXXXXXXXXXXXXXXX

如果您遇到此问题,请检查您的请求。

于 2013-11-12T06:44:18.153 回答