🌐
经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用
点我优惠购买
🚀
拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多
点我优惠购买
🛡️
稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少
点我优惠购买
温馨提示:这篇文章已超过585天没有更新,请注意相关的内容是否还可用!
教程介绍
python上传图片到七牛云储存代码,Typora将图片上传到七牛云对象存储中(访问速度快),七牛云免费10G。
Python代码分享
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #!/usr/bin/env python3 # -*- encoding: utf-8 -*- # author: gflik # data: 2022.10.09 import uuid import requests import sys from qiniu import Auth, put_file, etag, put_data class UploadClient: def __init__( self ): # 需要修改一下两行! secret_key = "secret_key" # 构建鉴权对象 self .auth = Auth(access_key, secret_key) self .bucket_name = "82coco" def upload( self ,data): """ 上传二进制数据到七牛云 :param data: 二进制数据 :return: """ # 上传后保存的文件名 # 哈希值 key = 'markdown_img/{}.png' . format ( str (uuid.uuid4()).replace( "-" ,"")) # 生成上传 Token,可以指定过期时间等 3600单位是s token = self .auth.upload_token( self .bucket_name, key, 3600 * 24 ) # 要上传文件的本地路径 # 将图片二进制数据上传到七牛云 ret, info = put_data(token, key, data) # print(ret) # print(info) if info.status_code = = 200 : # 上传图片成功 # 拼接完整url地址 full_url = "http://cdn.82coco.cn/" + ret[ "key" ] return full_url else : def upload_img( self ,file_list: list ): for img in file_list: # 先判断传过来的是本地路径还是远程图片地址 if "http" = = img[: 4 ]: # 非本地图片的话可以考虑下载到本地再上传,但是没这个必要 print (img) continue else : try : print ( self .upload( open (img, "rb" ))) except : print (img + "\t上传失败" ) if __name__ = = '__main__' : if len (sys.argv) < 2 : print ( "call error,wrong image format" ) sys.exit( 1 ) # print(sys.argv) client = UploadClient() client.upload_img(sys.argv[ 1 :]) |
使用方法
将此代码解压放入Typora根目录
打开代码修改accesskey 与 secretkey(需注册七牛云账号)
打开Typora - 文件 - 偏好设置 - 图像
1 |
按照上述图片填入
文章版权声明:除非注明,否则均为执刀人的工具库原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...