第一种:

from requests_toolbelt import MultipartEncoder
import requests# from_data上传文件,注意参数名propertyMessageXml
data = MultipartEncoder(fields={'propertyMessageXml': ('filename', open('D:/123.xml', 'rb'), 'text/xml')})
requests.post(url=url,data=data,headers={ 'Content-Type': data.content_type})#raw上传文件
file = open('D:/123.xml','rb')
requests.post(url=url,data=file.read(),headers={'Content-Type':'text/xml'})#binary上传文件
files={'file':open('D:/123.xml','rb')}
requests.post(url=url,files=files,headers={'Content-Type':'binary'})

第二种:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import requests,glob
from urllib3 import encode_multipart_formdatadef upload_file(url=None,path=None,file_path=None):if path:for file_path in glob.glob(path + '\*'): #批量文件data={}data['file'] = (file_path.split("/")[-1], open(file_path, 'rb').read())  # 名称,读文件encode_data = encode_multipart_formdata(data)res = requests.post(url, headers={'Content-Type':encode_data[1]},data=encode_data[0])return res.textif file_path:data = {}data['file'] = (file_path.split("/")[-1], open(file_path, 'rb').read())  # 名称,读文件encode_data = encode_multipart_formdata(data)res = requests.post(url, headers={'Content-Type': encode_data[1]}, data=encode_data[0])return res.text

python-上传文件的几种方式相关推荐

  1. django + python上传文件的两种方式

    突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...

  2. django文件上传到服务器,django上传文件的三种方式

    Django文件上传需要考虑的重要事项 文件或图片一般通过表单进行.用户在前端点击文件上传,然后以POST方式将数据和文件提交到服务器.服务器在接收到POST请求后需要将其存储在服务器上的某个地方.D ...

  3. vue前端实现上传文件的两种方式

    1.使用form表单的形式 第一种方式就是使用FormData的方式进行上传 html代码: <el-form :model="upform" :rules="up ...

  4. flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)

    文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...

  5. java spring上传_SpringMVC上传文件的三种方式

    直接上代码吧,大伙一看便知 前台: pageEncoding="utf-8"%> Insert title here 采用流的方式上传文件 采用multipart提供的fil ...

  6. SpringMVC上传文件的三种方式

    /** 通过流的方式上传文件* @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象*/@Reques ...

  7. LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  8. WebUploader 上传文件的两种方式(手动上传,自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  9. Linux远程上传文件的三种方式详解

    1.FileZilla(直接拖) https://www.filezilla.cn/download/client 2.lrzsz 2.1.yum install lrzsz 2.2.在CRT中配置上 ...

  10. vue+axios上传文件的几种方式及步骤(以上传图片为例)

    1.用js的formData对象上传(服务器返回url地址) <input class="file" name="file" type="fil ...

最新文章

  1. WCF入门(一)——简单的示例
  2. 如何定制一款12306抢票浏览器——完结篇
  3. 手撕ArrayList底层,透彻分析源码
  4. 完课率最高 | 带学吴恩达《机器学习》课程和作业,带打Kaggle全球顶级大赛!...
  5. oracle中 使用不了,Oracle 中不使用NOT IN 和 NOT EXISTS的另一种方法
  6. linux: 命令行运行php Run PHP from the command line
  7. CentOS6.4x64_安装Qt5
  8. iOS:×××送(二)----pem证书的生成
  9. Sql Server 语句集合
  10. DelphiXE4发布了
  11. 【转】使用Boost Graph library(二)
  12. Hive 求全局Top N
  13. echarts 动态设置y轴单位_Recharts动态设置y轴的最大值最小值
  14. mysql驱动5.1_mysql jdbc 驱动 5.1.26 官方最新版
  15. hadoop工作原理
  16. [原创]我的网名卖烧烤的鱼缘由^_^
  17. matlab符号计算求解正态分布问题
  18. 用C语言实现base64解密(包括二进制文件)
  19. js-打印1-100以内的质数(素数)
  20. 【Python】Wordcloud 词云

热门文章

  1. Android基础_数据存储
  2. ecshop几个价格
  3. [转载]SQL Server 2005 Data Mining简介
  4. 新增达达设计的8个Skin
  5. html 文本强调,CSS Emphasis Marks 文本强调标记
  6. 东南亚“最能喝”的国家:越南取消禁止在线销售烈性酒禁令
  7. 【疑问】SD更新凭证流
  8. 【FI】SAP ODN简介
  9. PPT 2016的加解密功能
  10. Centos下Yum安装PHP5.5,5.6,7.0