Maison >développement back-end >Tutoriel Python >Implémenter un service simple de téléchargement et de stockage d'images à l'aide de Python
GitAdresse du Hub : https://github.com/honmaple/maple-file
Un simple service de imagetéléchargementimplémenté à l'aide de flask
Pour le stockage des images, il y a sont Il existe de nombreux choix, utilisant généralement des services cloud tels que (Qiniu, Youpai, etc.), mais les services nationaux tels que Qiniu
les noms de domaine personnalisés nécessitent en fait un enregistrement de nom de domaine (Excusez-moi, c'était à l'origine à cause des problèmes d'enregistrement) Choisir des photos étrangères), et cela m'a fait perdre dix dollars,
et je voulais pouvoir télécharger des photos directement localement comme Qiniu, j'ai regardé autour de moi et je n'en ai pas trouvé. était plus approprié, j'ai donc dépensé deux dollars. J'ai écrit un
parce que l'intention initiale était de le publier en tant que script local, donc il n'y a pas d'interface frontale. ajoutez
/api/login
POST
登录
/api/logout
GET
注销
/api/albums
nom nom de l'album
description description de l'album
OBTENIR
Obtenir la liste des albums
POST
Créer un nouvel album
/api/albums/
pk ID de l'album
nom Nom de l'album
description description de l'album
OBTENIR
Obtenir des informations sur l'album
PUT
Modifier les informations de l'album
/api/images
images Télécharger la liste d'images
album album ID (un nouvel album par défaut sera créé par défaut)
OBTENIR
Obtenir la liste des photos
POST
Télécharger des images
/api/images/
nom nom de l'image
description image Description
OBTENIR
Obtenir des informations sur l'image
PUT
Modifier les informations de l'image
DELETE
Supprimer l'image
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
créera un en même temps par défaut l'album photo de
python manager.py key
affiche la clé utilisateur
Chemin d'enregistrement de l'image téléchargée
Chemin de l'image originale :
UPLOAD_FOLDER + 'username' + 'photo' + %Y + %m + (时间戳+随机数).png
VignetteChemin :
UPLOAD_FOLDER + 'username' + 'thumb' + %Y + %m + (时间戳+随机数).png
Utiliser les demandesTéléchargement local
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!