Postman用form-data传Excel与键值对,site_list无法获取求解决方案
解决form-data同时获取文件与键值对的问题
当你用form-data格式发送请求时,文件和普通键值对会被后端框架分别解析到不同的对象中,不能直接通过request.data获取普通参数,正确的获取方式分主流框架说明:
Flask 框架
- 获取普通键值对(如site_list):使用
request.form.get('site_list') - 获取上传的Excel文件:使用
request.files.get('your_file_field_name')(替换成你在Postman里设置的文件字段名)
示例代码:
from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): # 获取site_list参数 site_list = request.form.get('site_list') # 获取Excel文件 excel_file = request.files.get('excel_file') # 后续处理逻辑 return f"site_list: {site_list}, 文件名: {excel_file.filename}"
Django 框架
- 获取普通键值对(如site_list):使用
request.POST.get('site_list') - 获取上传的Excel文件:使用
request.FILES.get('your_file_field_name')
示例代码:
from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def upload(request): if request.method == 'POST': # 获取site_list参数 site_list = request.POST.get('site_list') # 获取Excel文件 excel_file = request.FILES.get('excel_file') # 后续处理逻辑 return HttpResponse(f"site_list: {site_list}, 文件名: {excel_file.name}")
额外注意事项
- 确认Postman中
site_list的字段类型是Text,而非File,字段名拼写和代码中完全一致 - 确保请求的Content-Type是
multipart/form-data(Postman选择form-data时会自动设置)
内容的提问来源于stack exchange,提问作者nabiharaza
相关产品推荐
相关产品推荐

