python+requests练习篇2-上传图片或文件

    技术2022-07-11  132

    本文介绍如何使用requests上传图片或文件

    一般上传都需要使用到post请求,使用files参数上传图片或文件 代码如下

    # coding=utf-8 # 导入requests包 import requests url = "" # 上传文件的接口地址 header = {"Content-Type""", "Cookie":"" } # 请求头部信息,大部分上传照片不要"Content-Type"值 data= {} # data传参(部分接口需要data传参) file_path = "" # 图片或文件的绝对路径 file = {"file": ("图片.jpg", open(file_path, "rb"), "image/jpeg")} # "image/jpeg"照片格式 #file = {"file": ("产品导入.zip", open(path, "rb"), "application/zip")} # "application/zip"zip格式 r = requests.post(url, headers=header, data=data, files=file) print(r.json()) # 打印接口返回数据

    继续优化下,上面代码运行后虽然上传图片成功,但是会报文件未关闭的错误。因此我们改造下,使用with方法打开,它会自动关闭。 代码如下:

    # coding=utf-8 # 导入requests包 import requests url = "" # 上传文件的接口地址 header = {"Content-Type""", "Cookie":"" } # 请求头部信息,大部分上传照片不要"Content-Type"值 data= {} # data传参(部分接口需要data传参) file_path = "" # 图片或文件的绝对路径 with open(self.img_path, 'rb')as f: # 使用with打开图片后自动关闭,直接用open后面会报未关闭图片错误 file = {"file": ("图片.jpg", f.read(), "image/jpeg")} # "image/jpeg"照片格式 #file = {"file": ("产品导入.zip", f.read(), "application/zip")} # "application/zip"zip格式 r = requests.post(url, headers=header, data=data, files=file) print(r.json()) # 打印接口返回数据
    Processed: 0.011, SQL: 9