• 欢迎访问IT乐园(o゚▽゚)o
  • 推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。

右键点击文件增加“上传到七牛“选项

python fhy 3年前 (2017-03-14) 1730次浏览 0个评论

添加右键上传到七牛选项

Win 右键点击文件增加“上传到七牛”选项,Python 调用七牛接口上传文件

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\UploadQiniu\Command]
@="‪run.bat \"%1\""

保存为 AddQiniu.reg,双击运行。
如图所示:
右键点击文件增加“上传到七牛“选项

移除右键上传到七牛选项

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\UploadQiniu]

保存为 RemoveQiniu.reg,如需移除双击运行。

编写运行 python 脚本的批处理文件 run.bat

@echo off
python E:\python\UpPic\Upload.py %*
pause
exit

将 run.bat 文件放到 C:\Windows 系统目录

附上 Python 代码 Upload.py

参考七牛 sdk 文档
pyperclip 类库 可以将字符串复制到系统的剪切板中,也可以获取剪切板内容。

#!/usr/bin/python3
#-*- coding:utf-8 -*-
import os
import sys
import pyperclip
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
import qiniu.config

class QiniuUpload:
def __init__(self):
if len(sys.argv)!= 2:
sys.exit('argv error!')

#需要填写你的 Access Key 和 Secret Key 请在七牛开发者中心查看
self.access_key = ''
self.secret_key = ''
self.url = ''
self.bucket_name = '' # 要上传的空间

# 获取成功路径 调用上传 Api
self.UploadQiniu(sys.argv[1])

def UploadQiniu(self, path):
#构建鉴权对象
q = Auth(self.access_key, self.secret_key)

#上传到七牛后保存的文件名
key = os.path.basename(path)

# 验证文件是否存在
is_ex = self.GetFileInf(key)
if is_ex.status_code == 200:
sys.exit('file is exist!')

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

#要上传文件的本地路径
localfile = path

ret, info = put_file(token, key, localfile)
if info.status_code == 200:
pyperclip.copy(self.url+key)
print('upload complete: \n'+ self.url+key)

assert ret['key'] == key
assert ret['hash'] == etag(localfile)

def GetFileInf(self, filename):
from qiniu import Auth
from qiniu import BucketManager

#初始化 Auth 状态
q = Auth(self.access_key, self.secret_key)

#初始化 BucketManager
bucket = BucketManager(q)

key = filename

#获取文件的状态信息
ret, info = bucket.stat(self.bucket_name, key)
return info
assert 'hash' in ret

qn = QiniuUpload()

上传成功:

右键点击文件增加“上传到七牛“选项

如果文件名存在程序结束:

右键点击文件增加“上传到七牛“选项


IT 乐园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:右键点击文件增加“上传到七牛“选项
喜欢 (2)
关于作者:
九零后挨踢男
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址