import requests

def 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 response if __name__=='__main__':
# 上传图片
res = sendImg(img_path, img_name) # 调用sendImg方法
print(res)

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

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

from urllib3 import encode_multipart_formdata
import requests def 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 response if __name__=='__main__':
# 上传文件
res = sendFile(filename, file_path) # 调用sendFile方法
print(res)

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

python接口上传图片和文件的方法的更多相关文章

  1. python 读写、创建 文件的方法(必看)

    python 读写.创建 文件的方法(必看) 更新时间:2016年09月12日 10:26:41 投稿:jingxian 我要评论下面小编就为大家带来一篇python 读写.创建 文件的方法(必看). ...

  2. python接口自动化(响应对象方法)

    python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding ...

  3. python linecache模块读取文件的方法

    转自: python linecache模块读取文件 在Python中,有个好用的模块linecache,该模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. l ...

  4. 用AJAX实现上传图片或者文件的方法

    大家好,我是小C,最近在项目中用到ajax上传图片文件,本篇我们就说说ajax上传文件. 我们平时用到的AJAX,大部分都是传几个参数就可以了.简单说就是传几个字符串. $.ajax({ url: u ...

  5. python接口自动化7-post文件上传

    前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...

  6. Python接口自动化测试-下载文件

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : shenqiang ''' 注意:定义类的时候,内部方法之间的互调 步骤: 1.按照 ...

  7. Python中读取csv文件内容方法

    gg 224@126.com 85 男 dd 123@126.com 52 女 fgf 125@126.com 23 女 csv文件内容如上图,首先导入csv包,调用csv中的方法reader()创建 ...

  8. Python之转换py文件为无需依赖python环境的exe文件的方法

    在日常工作中,使用python脚本开发快速敏捷,但是其代码是可见的,而且充分的依赖python开发环境.为了达到保护我们源码的目的,或者不依赖python开发环境使用python脚本,将其转换成可以直 ...

  9. Python引用某一文件的方法出现红色波浪线

    from parse import parse_url#引用parse里面的方法 结果出现波浪线并提示 This inspection detects names that should resolv ...

随机推荐

  1. python3 FastDFS 配置文件 客户端连接 删除文件 bug

    文件传输使用FastDFS 很方便, 不管是大小文件, 用默认的配置就可以, 这里插入一个配置文件 :  (后补python连接FastDFS上传下载文件) # connect timeout in ...

  2. 干货:Wireshark使用技巧-显示规则

    - 显示规则使用 在Wireshark界面对已经抓取的报文在界面的显示进行控制的规则,称为显示规则,显示规则只是让一部分不符合规则的报文不被显示,但未被丢弃,这些报文仍然存在在Wireshark的系统 ...

  3. WindowsServer2003中IIS支持php的配置

    1.安装MySQL(没有特殊说明的就按照默认安装)选择 Custom 自定义安装点击"Change"更改 MySQL 安装目录(自定义)其他按照默认的下一步就可以 安装完成后会自动 ...

  4. Matplotlib 日期格式转换

    官网链接:https://matplotlib.org/api/dates_api.html#matplotlib.dates.date2num import numpy as np import d ...

  5. CodeForces - 1248D1 (思维+暴力)

    题意 有一个括号序列,你可以选择两个位置i,j(i可以等于j),进行交换.使得最后的循环位置(i的数目)最大. 循环位置:i(0<=i<len),将前i个字符移到最后,得到的新序列是合法的 ...

  6. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  7. char数据类型

    char数据类型就是为了中文 一个中文占两个字节正好char是占用两个字节 char a='国'’; char类型必须使用单引号属于字符类型 双引号的是字符串类型如果使用等号两边数据类型不一致就是 不 ...

  8. 【poj3207】Ikki's Story IV - Panda's Trick(2-sat)

    传送门 题意: 给出一个圆,圆上有\(n\)个点,依次为\(0,1,\cdots,n-1\). 现在要连接\(m\)对点,每次连接时可以直接从里面连,也可以从外面连. 最后问,连完这\(m\)对点后, ...

  9. 利用logistic回归解决多分类问题

    利用logistic回归解决手写数字识别问题,数据集私聊. from scipy.io import loadmat import numpy as np import pandas as pd im ...

  10. (day50)二、文件配置、ORM

    目录 一.静态文件 (一)配置html文件 (二)什么是静态文件 (三)静态文件配置 (四)静态文件动态绑定 (五)form表单POST请求配置 二.request方法初识 (一)request.me ...