python 实现Content-Type为multipart/form-data类型的方式上传文件到服务端

  • 上传文件到服务器的方式种类有很多,今天我们这里讲一讲Content-Typemultipart/form-data类型的方式上传文件时要注意的地方,我们以上传.xlsx表格为例。
  • 直接上代码,不啰嗦
import requests
from requests_toolbelt import MultipartEncoder

def Send_To_Server(demo_str):
    url = "https://test.juziwulian.com:17000/boss/sales/upgradeInfoUpload"
    m = MultipartEncoder(
        fields={
            'file': ('filename', open(demo_str, 'rb'), "type=application/wps-office.xlsx")
        }
    )
    headers = {'Content-Type': m.content_type, 'accept': 'application/json'}
    response = requests.post(url, headers=headers, data=m, timeout=10)
    state_test = eval(response.text)
    print(state_test)
Send_To_Server('demo.xlsx')
  • 这里要注意导入一个特殊的模块MultipartEncoder,用该模块来封装所需要上传的文件,另外我们还要特别注意的是,headers头不能直接,headers = {'Content-Type': multipart/form-data, 'accept': 'application/json'},而是要用MultipartEncoder模块中已有的内容类型,所以我的headers应为headers = {'Content-Type': m.content_type, 'accept': 'application/json'},这是特别要注意的。
  • 当然在fields中还可以添加很多其他字段
  m = MultipartEncoder(
    fields={'filename': 'demo',
            'version': '10001,
            'file': ('filename', open(demo_str, 'rb'), "type=application/wps-office.xlsx")
            }
    )
  • 等等
  • 希望能帮助你!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值