如何在django中获取curl上传文件的内容

如何在django中获取curl上传文件的内容,django,file,curl,upload,Django,File,Curl,Upload,我正在使用Django 2.1.1,希望使用以下curl命令上载文件: curl -i -b cookies.txt -c cookies.txt -e https://neon/accounts/login/ \ --cert client.crt --key client.key -F "name=@afile" \ -H "X-CSRFToken: 9rQMPHGdPJHLVbSEmhwXLc1m9i1KIQVVenRPqP2JkqrldKgWX4GMahOET7pk5cnw" \ -

我正在使用Django 2.1.1,希望使用以下curl命令上载文件:

curl -i  -b cookies.txt -c cookies.txt -e https://neon/accounts/login/ \
--cert client.crt --key client.key -F  "name=@afile" \
-H "X-CSRFToken: 9rQMPHGdPJHLVbSEmhwXLc1m9i1KIQVVenRPqP2JkqrldKgWX4GMahOET7pk5cnw" \
-H "Content-type: multipart/form-data" \
-X POST -F 'test=blaat' https://neon/test/
url将转到以下视图:

def test(request):
    response = pprint.pformat(request.FILES, indent=4)
    return HttpResponse(response)
旋度的结果是:

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Thu, 22 Nov 2018 14:37:03 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 72
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff

{   'name': <InMemoryUploadedFile: afile (application/octet-stream)>}
HTTP/1.1 100是否继续
HTTP/1.1200ok
服务器:nginx/1.10.3(Ubuntu)
日期:2018年11月22日星期四14:37:03 GMT
内容类型:text/html;字符集=utf-8
内容长度:72
连接:保持活力
X-Frame-Options:SAMEORIGIN
严格的运输安全:最大年龄=63072000;包含子域
X帧选项:拒绝
X-Content-Type-Options:nosniff
{'name':}
那么我如何在Django中的str变量中获取'afile'的内容呢。。。我尝试了request.FILES['file'].chunks(),但并不知道我在这里尝试什么。还将内容写入服务器上的文件:不知道。主要的事情是将它放入一个变量中,这样我就可以从该文件解析JSON


登录、SSL证书和身份验证都可以正常工作。这不是问题。

只需对文件使用
读取功能,然后使用适当的编码进行解码:


from io import BytesIO

data = request.FILES['name'].read()
data = data.decode('utf-8')