【问题标题】:Sending a csv file via curl POST to Django REST Framework endpoint通过 curl POST 将 csv 文件发送到 Django REST Framework 端点
【发布时间】:2017-12-07 01:09:59
【问题描述】:

我有一个 csv 文件,我想通过 curl 将它发送到我开发的 Django Rest Framework API 视图。 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,)

谢谢!

【问题讨论】:

    标签: python django curl django-rest-framework


    【解决方案1】:
    f = request.FILES["filefield_name"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 2020-06-06
      • 2021-03-22
      • 1970-01-01
      • 2011-10-24
      • 2023-02-06
      • 2020-06-26
      • 2011-10-24
      相关资源
      最近更新 更多