Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过post请求传输django二进制文件数据_Django_Post_Binary Data - Fatal编程技术网

通过post请求传输django二进制文件数据

通过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

我正在使用django rest框架和aws S3存储。我正在将视频文件上传到S3存储桶,并将加密密钥保存为django models的二进制字段格式(S3存储的要求)。现在我需要使用post请求将此密钥传递给另一个远程django服务器。当我使用requests库传递密钥时,当我从另一台服务器上的post请求中提取密钥时,密钥不知何故发生了变化,我无法使用它。如果有人告诉我如何使用django请求库通过post请求传递二进制字段数据,我将不胜感激。我的发帖代码是

导入请求
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'})