需求描述:使用python 的reqeust方法,发送多文件以及,另外的flask如何接收多文件的传参和获取参数方式。
网上查了一堆资料,没有很明确或是比较清晰说明的。
使用request通过form data方式来发送多文件,参数如何处理?
方式1
#all_img_list 是文件夹地址,内部放置的是多图片。
files_list = []
for item in all_img_list:
old_file_name = item.replace('\\', '/').split('/')[-1]
# t = {'file': open(file_path, 'rb')} # 默认文件名称是file
t = ("images", (old_file_name, open(item, 'rb').read()))
files_list.append(t)
# print('files_list==', files_list)
result = requests.post('http://10.0.0.1:5000/api/upload', files=files_list).json()
重点:files_list :
[(“images”, (文件名1, open(item, ‘rb’).read())), (“images”, (文件名2, open(item, ‘rb’).read())), …
]
这里是 images
,后面getlist参数就是这个。
在flask如何接收:
class demo(Resource):
def post(self):
# upload_file = request.files.get('file') # 只能单图存取
# 方式1
image_files = request.files.getlist('images')
# print('image_files', image_files)
for id, image_file in enumerate(image_files):
image_file.save(os.path.join(ReSource.upload_path(), 'demo',image_file.filename))
在postman中是如何的呢?
这种方式,在postman中对应的参数就是这样的。
方式2
那么,与postman下面这种,对应的更加符合前端传统的参数如何传递和获取呢?
未完待续。。。