通过curl POST将csv文件发送到Django REST Framework端点

时间:2017-12-07 01:10:00

标签: python django curl django-rest-framework

我有一个csv文件,我想通过curl发送到我开发的Django Rest Framework API View。 csv文件本身只包含foo,bar,这是我正在使用的curl命令:

curl URL -H 'Accept: 
application/json' -H 'Referer: http://localhost:5011/ost:5011' -H 
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 
Safari/537.36' -H 'Authorization: JWT TOKEN  -H 'Content-Type: 
multipart/form-data' -F upload=@testcsv.csv

当它在Django中点击我的API视图时,我运行

request.data.get('file').read()

输出是文件周围的一些元数据,而不是文件内容本身:

(Pdb) b'--------------------------001ec735bfc1a929\r\nContent-
Disposition: form-data; name="upload"; 
filename="testcsv.csv"\r\nContent-Type: application/octet-
stream\r\n\r\n\r\n--------------------------001ec735bfc1a929--\r\n'

如何通过此方法访问实际文件?我的APIview正在使用

class FileUploadView(APIView):
     parser_classes = (MultiPartParser,)

谢谢!

1 个答案:

答案 0 :(得分:0)

f = request.FILES["filefield_name"]