通过post请求传输django二进制文件数据
我正在使用django rest框架和aws S3存储。我正在将视频文件上传到S3存储桶,并将加密密钥保存为django models的二进制字段格式(S3存储的要求)。现在我需要使用post请求将此密钥传递给另一个远程django服务器。当我使用requests库传递密钥时,当我从另一台服务器上的post请求中提取密钥时,密钥不知何故发生了变化,我无法使用它。如果有人告诉我如何使用django请求库通过post请求传递二进制字段数据,我将不胜感激。我的发帖代码是通过post请求传输django二进制文件数据,django,post,binary-data,Django,Post,Binary Data,我正在使用django rest框架和aws S3存储。我正在将视频文件上传到S3存储桶,并将加密密钥保存为django models的二进制字段格式(S3存储的要求)。现在我需要使用post请求将此密钥传递给另一个远程django服务器。当我使用requests库传递密钥时,当我从另一台服务器上的post请求中提取密钥时,密钥不知何故发生了变化,我无法使用它。如果有人告诉我如何使用django请求库通过post请求传递二进制字段数据,我将不胜感激。我的发帖代码是 导入请求 enc_key=so
导入请求
enc_key=some_object.key#key是一个models.BinaryField()
数据={'enc_key':enc_key}
响应=请求。发布(url,数据=数据)
在另一台服务器上,我像这样从post请求中提取enc_密钥
enc_key=request.POST['enc_key']
但是这把钥匙已经不能用了 enc_key真的是models.BinaryField的实例吗?如果是蟒蛇3,它应该是 顺便说一句,
请求
库与Django完全独立,您应该尝试在根本不使用Django的情况下发布二进制数据,然后在必要时使用框架进行斗争。也许您可以直接从远程机器从数据库检索数据?如果不是,请尝试以这种方式发送测试二进制数据:
res = requests.post(url=remote_url,
data=data,
headers={'Content-Type': 'application/octet-stream'})