现在越来越多的博客采用静态页面的形式, 这样做的好处有很多, 一来由于是静态页面, 安全问题不用考虑, 二是我们可以用自己喜欢的编辑器在本机上用markdown编写博客, 本地留存md文件。
缺点是博客图片管理不是很方便, 于是就有了下文。
首先将需要上传的图片统一放在一个文件夹中, 博客标题名字可以当做文件夹名。
之后, 运行我们的程序, 输入文件夹地址, 然后敲个回车就好啦。 然后通过七牛给的外网(例如我的外网地址为: http://7xs4ug.com1.z0.glb.clouddn.com)连接加上我们的图片名就可以访问啦。


如上图, 我们就可以直接复制图中红色的链接到我们的博客中啦。四不四很方便呀~
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
|
from qiniu import Auth, put_file, etag import os
import sys reload(sys) sys.setdefaultencoding("utf-8")
AK = '****************************************' SK = '****************************************' bucket_name = 'demo'
q = Auth(AK, SK)
localfile_path = raw_input("请输入要上传的文件夹: ") files = os.listdir(localfile_path)
localfiles = [os.path.join(localfile_path, i) for i in files]
keys = [os.path.join('blog',"/".join(i.rsplit('/', 2)[-2:])) for i in localfiles]
for key, localfile in zip(keys, localfiles): token = q.upload_token(bucket_name, key, 3600) ret, info = put_file(token, key, localfile) print info print 'http://7xrahm.com1.z0.glb.clouddn.com/' + ret['key'] print "------------------------------------------------------------------" assert ret['key'] == key assert ret['hash'] == etag(localfile)
|
另外有一个图形化版本的 : )

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
| from tkinter import * import tkMessageBox from qiniu import Auth, put_file, etag import os
import sys reload(sys) sys.setdefaultencoding("utf-8")
AK = '****************************************' SK = '****************************************' bucket_name = 'blog'
def upload(): q = Auth(AK, SK)
localfile_path = entry.get() files = os.listdir(localfile_path)
localfiles = [os.path.join(localfile_path, i) for i in files]
keys = [os.path.join('blog',"/".join(i.rsplit('/', 2)[-2:])) for i in localfiles]
for key, localfile in zip(keys, localfiles): token = q.upload_token(bucket_name, key, 3600) ret, info = put_file(token, key, localfile) print info print "------------------------------------------------------------------" assert ret['key'] == key assert ret['hash'] == etag(localfile)
tkMessageBox.showinfo('提示', '上传成功')
if __name__ == '__main__': root = Tk() Label(root, text="请输入路径: ").pack() entry = Entry(root, width=80) entry.pack()
Button(root, text='确 定', command=upload).pack()
root.mainloop()
|
好啦, 还有什么不懂的, 可以给我留言哟~ : )