import requestsdef sendImg(img_path, img_name, img_type='image/jpeg'):
"""
:param img_path:图片的路径
:param img_name:图片的名称
:param img_type:图片的类型,这里写的是image/jpeg,也可以是png/jpg
"""
url = 'https://www.xxxxxxxxxx.com' # 自己想要请求的接口地址

with open(img_path + img_name, "rb")as f_abs:# 以2进制方式打开图片
body = {
# 有些上传图片时可能会有其他字段,比如图片的时间什么的,这个根据自己的需要'camera_code': (None, "摄像头1"), 'image_face': (img_name, f_abs, img_type)
# 图片的名称、图片的绝对路径、图片的类型(就是后缀)"time":(None, "2019-01-01 10:00:00")}
# 上传图片的时候,不使用data和json,用files
response = requests.post(url=url, files=body).json
return responseif __name__=='__main__':
# 上传图片
res = sendImg(img_path, img_name) # 调用sendImg方法
print(res)

**如果上传图片是数组时,value直接写图片路径就可以**

文件上传:上传的类型是file,用到头部信息

from urllib3 import encode_multipart_formdata
import requestsdef sendFile(filename, file_path):
"""
:param filename:文件的名称
:param file_path:文件的绝对路径
"""
url = "https://www.xxxxxxx.com" # 请求的接口地址
with open(file_path, mode="r", encoding="utf8")as f: # 打开文件
file = {
"file": (filename, f.read()),# 引号的file是接口的字段,后面的是文件的名称、文件的内容
"key": "value", # 如果接口中有其他字段也可以加上
} encode_data = encode_multipart_formdata(file)file_data = encode_data[0]
# b'--c0c46a5929c2ce4c935c9cff85bf11d4\r\nContent-Disposition: form-data; name="file"; filename="1.txt"\r\nContent-Type: text/plain\r\n\r\n...........--c0c46a5929c2ce4c935c9cff85bf11d4--\r\n

headers_from_data = {
"Content-Type": encode_data[1],
"Authorization": token
}
# token是登陆后给的值,如果你的接口中头部不需要上传字段,就不用写,只要前面的就可以
# 'Content-Type': 'multipart/form-data; boundary=c0c46a5929c2ce4c935c9cff85bf11d4',这里上传文件用的是form-data,不能用json

response = requests.post(url=url, headers=headers_from_data, data=file_data).json()
return responseif __name__=='__main__':
# 上传文件
res = sendFile(filename, file_path) # 调用sendFile方法
print(res)    

原文:https://blog.csdn.net/xy_best_/article/details/92839653

转载于:https://www.cnblogs.com/beile/p/11280772.html

python接口上传图片和文件的方法相关推荐

  1. php上传图文教程,PHP 上传图片、文件的方法

    这篇文章介绍的内容是关于PHP 上传图片.文件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 上传的方法:function uploadFile2($subdirectory){ ...

  2. php删除垃圾文件,Python删除windows垃圾文件的方法

    本文实例讲述了Python删除windows垃圾文件的方法.分享给大家供大家参考.具体如下: #coding:utf-8 import os #from glob import glob if os. ...

  3. Python将内容写入文件的方法总结。

    使用Python写入文件是我们coder的日常,本篇带你详细看一下python将内容写入文件的方法以及细节.主要包括write()方法.writelines() 方法.print() 函数.使用 cs ...

  4. Faiss(12):python接口faiss.py文件分析

    1. 前言 本篇笔记主要分析faiss code下的python接口文件--faiss.py的工作流程以及内容. 2. faiss.py分析 2.1 导入文件 在faiss code 编译完成后,在p ...

  5. Python Pandas 导入dta文件的方法

    STATA的dta文件原来也可以由python直接读入,记录一下方法: f=r'D:\file_location\file_name.dta' name=pd.read_stata(f)

  6. Python教程:读取文件有三种方法:(read、readline、readlines)详细用法

    python3中,读取文件有三种方法:read().readline().readlines(). 此三种方法,均支持接收一个变量,用于限制每次读取的数据量,但是,通常不会使用. 本文的目的:分析.总 ...

  7. Python读写zip压缩文件的方法

    Python 内置的 zipfile 模块可以对文件(夹)进行ZIP格式的压缩和读取操作.要进行相关操作,首先需要实例化一个 ZipFile 对象.ZipFile 接受一个字符串格式压缩包名称作为它的 ...

  8. python中写入csv文件的方法_Python写入CSV文件的方法

    python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面 ...

  9. 【Python】File(文件)方法

    1. open()方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. ● 注意:使用 op ...

  10. Python保存数据到文件的方法

    方法一:open函数保存#保存数据open函数 with open('D:/PythonWorkSpace/TestData/pinglun.txt','w',encoding='utf-8') as ...

最新文章

  1. 2017202110104-高级软件工程第二次作业个人项目之-四则运算生成程序
  2. PHP Hashtable实现源码分析
  3. 大二第二学期周学习进度总结(十三)
  4. 不同表_一个公式搞定数据信息按类别拆分到不同工作表
  5. java 需要 不是语句,我应该避免使用Java标签语句吗?
  6. eclipse 安装 阿里代码规范检测插件
  7. fedora mysql安装教程,Fedora 14 上MySQL的安装及使用
  8. 使用腾讯云上传图片,并给图片加水印
  9. pwnable.kr unlink
  10. 通过mtd读写flash_【转】 Linux下读写FLASH驱动——MTD设备分析
  11. 【STM32L552ZET6QU】小白入门资料汇总
  12. 互联网产品交互设计思路与方法
  13. 2016年11月30日 angularJS input=file 绑定change事件
  14. Mac上doc 转docx
  15. 常见flash讲解——NAND、SPI、EMMC
  16. 多收了三五斗-PB程序员版
  17. JAVA常用基础API(经典实例)
  18. SpringBoot OSS实战之用户头像上传
  19. 设备接入交换机后无法ping通问题处理
  20. Pandas cov()函数结果解释

热门文章

  1. 六石管理学:学习指教欢迎,刺探情报免了
  2. 由购物论测试的重要性:桃子测试了,很好;糖没测试,竟然都有虫子
  3. ERROR: libass not found using pkg-config2
  4. UBUNTU使用GITHUB
  5. html5控制字大小的代码,js根据字符串长度控制字体大小代码
  6. php赛车,php调用接口及三分赛车平台搭建出租编写接口
  7. thymeleaf 判断对象是否为空_JVM面试问题系列:判断对象是否已死和四种垃圾回收算法总结...
  8. python 打印三维数据_Python中的面向对象编程(二):数据隐藏和对象打印
  9. python变量使用前必须先声明_Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。_学小易找答案...
  10. 狂打气球html5游戏_4399h5游戏_企业团建活动小游戏:合力吹气球