首页 > 编程语言 > 详细

【6】基于Python-基础知识:Python上传文件/下载文件(2)

时间:2020-09-03 16:58:53      阅读:62      评论:0      收藏:0      [点我收藏+]

举例一:上传图片接口

把对应的图片上传到对应的位置,以下接口牵扯的知识点:

1. 得到对应的接口地址,包括:/account/uploadUserPic(生成图片) 和 /account/uploadAvatar(上传图片)
2. 利用字典保存得到对应的文件路径:file
3. 利用字典保存对应的用户head值:head
4. 通过对应的请求上传图片

import requests


def update_file(url):
    """
    上传图象接口
    :return:
    """
    # 生成图片接口地址
    url = url + "/account/uploadUserPic"

    # 上传图片接口地址
    save_url = url + "/account/uploadAvatar"

    # 文件的路径
    file = {
        "img": ("timg.jpg", open("文件路径/timg.jpg","rb"),"image/jpg"),
    }

    # 用户的登录信息
    head = {
        "Authorization": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNjQ2NTAiLCJhdXRoIjoie1xuICAgXCJpZFwiIDoxNjQ2NTAsXG4gICBcInVzZXJOYW1lXCIgOlwiMTUwOTYyNjQwNzRcIixcbiAgIFwidXNlclJvbGVcIiA6XCJCVVlFUlwiLFxuICAgXCJtb2JpbGVcIiA6XCIxNTA5NjI2NDA3NFwiLFxuICAgXCJhdXRob3JpdGllc1N0cmluZ1wiIDpcIlJPTEVfQ1JFQVRFX1NUT1JFLFJPTEVfV0VJWElOX1VTRVJfQ0VOVEVSLFJPTEVfVVNFUl9DRU5URVIsUk9MRV9XRUlYSU5fR09PRFNfQ0FSVCxST0xFX0dPT0RTX0NBUlQsUk9MRV9JTlRFR1JBTF9FWENIQU5HRSxST0xFX1BSRURFUE9TSVRfU0VUXCIsXG4gICBcInR5cGVcIiA6XCJiMVwiLFxuICAgXCJoYXZlT3BlbklkXCIgOnRydWUsXG4gICBcImhhdmVVbmlvbmlkXCIgOnRydWUsXG4gICBcImxldmVsXCIgOlwiMlwiLFxuICAgXCJjYW5Tb3J0aW5nR29vZHNcIiA6ZmFsc2Vcbn0iLCJleHAiOjE2MDA1ODA5OTN9.KereqDBm78tRUuXlcXZIjHIBsOiXBNsIQloJTvxCWcUhfxSgBOW6ceD3RdjmbKlJLSDBKCakpKjsf7A9UQkM_w",
    }
    # POST请求并获取到对应图片的id赋值给data
    res = requests.post(url, files=file, headers=head).json()
    data = {"id": res["id"]}

    # 给head添加访问类型,默认值可省略
    # head["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"

    # POST进行保存图片
    res = requests.post(save_url, data=data, headers=head)

    # 获取状态码,确定是否上传成功
    if res.status_code == 200:
        print("上传图片成功")
    else:
        print("上传图片失败")


if __name__ == "__main__":
    update_file("****")

举例二:下载文件

下载文件,即得到对应文件的对象,并把对应的对象写入到相应的位置中,如下:

import requests
import os


def download_file(url):
    res = requests.get(url) #返回一个对象,需要给对象写入我们的文件
    with open("muke.apk", "wb") as f:
        f.write(res.content)
    fileurl = os.path.dirname(__file__)
    print("下载完成,在当前的目录中:{0}".format(fileurl))


if __name__ == "__main__":
    download_file("http://file.mukewang.com/apk/app/120/1597322853/imooc7.3.910102001android.apk?version=1597322858")

 

【6】基于Python-基础知识:Python上传文件/下载文件(2)

原文:https://www.cnblogs.com/Yulisa/p/13608156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!