from sanic.response import json,html import os import datetime import shutil import magic from trump.query import create_item,get_items,modify_items,modify_item from config import UPLOAD_PATH,UPLOAD_PATH_ORIGINAL allow_mime_type = { "image/png": "png", "image/jpeg": "jpg", "image/jpg": "jpg", "image/gif": "gif", "image/webp": "webp", } async def save_file(request,file): t = datetime.datetime.now() filepath = os.path.join(UPLOAD_PATH, t.strftime('%Y%m%d')) if not os.path.isdir(filepath): os.mkdir(filepath) ori_filepath = os.path.join(UPLOAD_PATH_ORIGINAL, t.strftime('%Y%m%d')) if not os.path.isdir(ori_filepath): os.mkdir(ori_filepath) timestamp = t.strftime("%H%M%S%f.") filename = os.path.join(filepath, timestamp) with open(filename + 'tmp', 'wb+') as f: f.write(request.files.get('file').body) mimetype = magic.from_file(filename + 'tmp', mime=True) suffix = allow_mime_type.get(mimetype) if not suffix: os.remove(filename + 'tmp') return 1, json({"status": 3, "data": "不允许的文件类型。"}) if suffix in ("png", "jpg", "webp"): shutil.copyfile(filename + 'tmp', os.path.join( ori_filepath, timestamp + suffix), ) shutil.copyfile(filename + 'tmp', filename + suffix) else: os.rename(filename + 'tmp', filename + suffix) url = UPLOAD_PATH + os.path.join(t.strftime('%Y%m%d'), t.strftime("%H%M%S%f." + suffix)) return url
Python上传图片方法
最新推荐文章于 2024-03-14 14:42:16 发布