Python-Django-文件上传

1.使用Post请求发送

import requests
url="http://127.0.0.1:8000/detectImg/"
files={"pic":open("C:\\Users\\LIF\\Pictures\\123.png","rb")}
res=requests.post(url,files=files)

requests.post 数据使用data字典,文件使用files字典,open以binary

2.使用request.FILES接收

@csrf_exempt
def example(request):
    pic = request.FILES.get("pic")
    fileName=str(pic)
    save_path = "E:\\AI\\智能导盲眼镜\\tensorflow-yolov4-tflite-master\\"+fileName
    with open(save_path, 'wb') as f:
     for content in pic.chunks():
         f.write(content)

注意以wb打开保存路径(文件会自动创建,类比w),为防止一次写入的问题,以 for i in file.chunks(): 进行写入

不知道为什么在 request.FILES.get(“pic”) 重新打了以下就好了

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt 

跳过csrf验证

3.编程的严谨性

因为忽略不同图片的格式问题,以为可以,导致出错浪费了很多时间。

最好是一开始就考虑这是一个可能出错浪费我时间的问题,于是解决掉,不能的话就记下!

上一篇:71. Django 前后端分离csrf token获取方式


下一篇:31. Django 2.1.7 模板 - CSRF 跨站请求伪造