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

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

def Send_To_Server(demo_str):
    url = "https://test.juziwulian: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")
            }
    )
  • 等等
  • 希望能帮助你!

更多推荐

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

本文发布于:2023-04-05 06:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/0ee15a944ec2f2b596e8782ce36b7201.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务端   上传文件   类型   方式   Type

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 45184文章数
  • 14阅读数
  • 0评论数