繁体   English   中英

POST 请求上传文件

[英]POST request to upload file

我想将文件上传到我的 django 应用程序。

视图.py

@api_view(['POST'])
def upload_to_evm(request):
    if request.method == 'POST' and request.FILES['file']:
        file = request.FILES['file']
        filename = FileSystemStorage().save('abcd', file)
        return JsonResponse({'Status': 'Successful'})

网址.py

urlpatterns = [
    path('api/evm_process/', views.upload_to_evm)
]

目前,我正在使用Binary File选项和 header Content-Type: multipart/form-data发送我的请求,它给出了MultiValueDictKeyError错误,这意味着我的request.FILES为空,我不明白为什么。

我的问题是:

  1. 使用相同的所有标头和 query_params 发出 POST 请求的正确方法是什么?
  2. 我是否需要解析器(FileUploadParser、MultiPartParser 或 FormParser)来上传、保存或处理上传的文件?

Python 版本:3.6.9
Django 版本:3.2.3

  1. 标题
"content-type": "multipart/form-data;boundary=---------------  "
"X-CSRFToken": csrf_token

在这里你必须设置边界。 它是分隔文件名和类型的字符串。

  1. 您需要导入 Multipartparser 和 FormParser。

希望这对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM