requests python form-data 上传文件

本文介绍了一个使用Python实现的众邦身份证上传接口,通过multipart/form-data格式上传身份证正反面图片到指定API,详细展示了如何构造请求头、处理文件上传及响应结果解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
 @Coding: utf-8
 @Product: financial-huanqiu
 @Author: lyk
 @Time: 2019-02-28 10:30
 @FileName: zb_card_upload.py
 @Software: PyCharm
"""

import os
import traceback
import requests
import json
from utils.result_process import success,aborted

from requests_toolbelt.multipart.encoder import MultipartEncoder


#众邦身份证上传接口
async def post(app, request):
    params = request.json
    cur_file_path = os.path.dirname(os.path.realpath(__file__))
    before_phote = os.path.join(os.path.dirname(cur_file_path), params.get("before_idcard"))
    after_photo = os.path.join(os.path.dirname(cur_file_path), params.get("after_idcard"))
    before_filename = os.path.basename(before_phote)
    after_filename = os.path.basename(before_phote)
    fileList = [('fileList', (before_filename, open(before_phote, 'rb'), "image/jpeg")),
                ('fileList', (after_filename, open(after_photo, 'rb'), "image/jpeg"))]
    m = MultipartEncoder(fields=fileList, boundary="-------45962402127348")
    headers = {"content-type": m.content_type}
    url = 'http://api.fsp.dev.aitaigroup.com:8080/apiCliService/zbb/upload'
    try:
        res = requests.post(url, data = m,
                            headers = headers)
        result = json.loads(res.text)
        if result.get("respCode") == "0000":
            return success(result)
        else:
            return aborted(return_msg = result.get("respMsg"))
    except Exception as e:
        traceback.print_exc()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值