您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 通化分类信息网,免费分类信息发布

使用Python实现一个简单的图片上传存储服务

2024/3/24 0:51:24发布43次查看
github地址: https://github.com/honmaple/maple-file
使用flask实现的一个简单的图片上传服务
设计初衷对于图片的存储,有很多选择,一般采用云服务如(七牛,又拍等),但是国内的服务像七牛
自定义域名竟然需要域名备案(excuse me,当初就是因为备案麻烦才选择国外的),而且浪费了我十块钱,
而我又想像七牛一样可以直接在本地就可以上传图片,找来找去,没有找到一个比较合适的,所以花两天时间自己写了一个
使用由于初衷是本地脚本就可以发布,所以没有前端界面,等以后有时间了再加上
api/api/login
post
登录
/api/logout
get
注销
/api/albums
name 相册名称
description 相册描述
get
获取相册列表
post
新建相册
/api/albums/<int:pk>
pk 相册id
name 相册名称
description 相册描述
get
获取相册信息
put
修改相册信息
delete
删除相册
/api/images
images 上传图片列表
album 相册id(默认会新建一个default相册)
get
获取图片列表
post
上传图片
/api/images/<int:pk>
name 图片名称
description 图片描述
get
获取图片信息
put
修改图片信息
delete
删除图片
配置class config(object):     debug = true # 生产环境设置为false     secret_key = 'ccc' # import os;os.urandom(24)     secret_key_salt = 'ssss'     json_as_ascii = false     permanent_session_lifetime = timedelta(days=3)     per_page = 10 # 分页     admin_url = '/admin/aaaaa' # 后台地址     login_token_header = 'api-key' # 将会影响到后面headers设置     login_token = 'api_key' #url?api_key=21312313     middleware = ['storage.common.middleware.commonmiddleware']     sqlalchemy_track_modifications = false     sqlalchemy_database_uri = 'sqlite:///test.db'     # sqlalchemy_echo = debug     upload_allowed_extensions = set(['png', 'jpg', 'jpeg']) # 允许上传的扩展名     upload_folder_root = os.path.dirname(os.path.abspath(file))     upload_folder_path = 'images' # 相对于当前文件路径的地址     upload_folder = os.path.join(upload_folder_root, upload_folder_path)
创建账户python manager.py create_user
将同时创建一个default的相册
python manager.py key
显示用户key
上传上传后图片保存路径
原图路径:
upload_folder + 'username' + 'photo' + %y + %m + (时间戳+随机数).png
缩略图路径:
upload_folder + 'username' + 'thumb' + %y + %m + (时间戳+随机数).png
example使用requests本地上传
import requests def images():     url = 'http://127.0.0.1:8000/api/images'     files = {'images': open('desktop.png', 'rb')}     multiple_files = [         ('images', ('11.png', open('11.png', 'rb'), 'image/png')),         ('images', ('desktop.png', open('desktop.png', 'rb'), 'image/png'))     ]     headers = {         'api-key':         'inhpewfuzza4mddjbtx4awlppi_oxx1ki8',         'user-agent': 'mozilla/5.0 (x11; linux x86_64) applewebkit/537.36 (khtml, like gecko) chrome/57.0.2987.98 safari/537.36'     }     # r = requests.post(url, files=multiple_files, headers=headers)     r = requests.post(url, files=files, headers=headers)     print(r.text)
以上就是使用python实现一个简单的图片上传存储服务的详细内容。
通化分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录