栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

简易图片上传工具

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简易图片上传工具

#简易图片上传工具
为了能够方便的保存图片以及在文章中插入图片,将图片保存在图床上再获取图片链接即可。

准备
  • 图床(github,gitee,云平台阿里云七牛云等等)

    这里以七牛云为例
申请七牛云存储空间
  1. 教程https://blog.csdn.net/qq_29086527/article/details/117688495
  2. 为该存储空间绑定域名,并配置域名的CHAME 教程
  3. 测试,使用 域名+文件名的方式能否访问到图片
编写上传图片代码
  • 在七牛云个人中心查看 secret_key ans access_key

  • 安装七牛云python sdk

pip install qiniu
  • 编写脚本 创建一个.py文件
# -*- coding: utf-8 -*-
# flake8: noqa

from qiniu import Auth, put_file, etag
import qiniu.config
import sys
import time

defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)
#需要填写你的 Access Key 和 Secret Key  bucket_name以及域名
access_key = 'your access_key '
secret_key = 'your secret_key'
cdn_path='你的域名'
#要上传的空间
bucket_name = 'your bucket_name'

#构建鉴权对象
q = Auth(access_key, secret_key)



#上传后保存的文件名
t = time.time()
lens=len(sys.argv)


if lens==3:
    key = sys.argv[1]+str(round(t * 1000))
elif lens==2:
    key=str(round(t * 1000))
else:
    print('参数错误')
    sys.exit(0)

#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)

#要上传文件的本地路径
if lens==3:
    localfile = sys.argv[2]
elif lens==2:
    localfile = sys.argv[1]
ret, info = put_file(token, key, localfile, version='v2')
print(cdn_path+str(key))
assert ret['key'] == key
assert ret['hash'] == etag(localfile)
自定义Linux命令
  • 创建一个文件 xxx即你的命令名字
gedit xxx
  • 编写shell 文件
#!/bin/bash
#this is a ima upload shell
python 上面的上传代码文件地址 $* 
  • 修改文件权限
sudo chmod 777 xxx
  • 将文件移动至 /usr/bin
sudo mv xxx /usr/bin
  • 测试
xxx filename test.png

两个参数 第一个自定义图传上传后文件名 第二个参数为本地图片路径 (第一个参数可省略)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822773.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号