簡體   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