From 110a5faaff499e4b2a0ba6a706f531450f2ce713 Mon Sep 17 00:00:00 2001 From: mkg <1650473152@qq.com> Date: Mon, 19 Jul 2021 21:40:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=E4=BE=9D=E8=B5=96=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=A7=A3=E5=86=B3=E4=B8=8D=E8=83=BD=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/__init__.py | 5 ----- applications/common/utils/upload.py | 7 +------ applications/extensions/__init__.py | 2 ++ applications/extensions/init_upload.py | 9 +++++++++ applications/templates/admin/photo/photo_add.html | 2 +- applications/view/admin/file.py | 1 + 6 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 applications/extensions/init_upload.py diff --git a/applications/__init__.py b/applications/__init__.py index 475e520..b0cb1d7 100644 --- a/applications/__init__.py +++ b/applications/__init__.py @@ -1,9 +1,7 @@ import os from flask import Flask -from flask_uploads import configure_uploads from applications.common.script import init_script -from applications.common.utils.upload import photos from applications.configs import common from applications.extensions import init_plugs from applications.view import init_view @@ -30,9 +28,6 @@ def create_app(config_name=None): # 注册命令 init_script(app) - # 文件上传 - configure_uploads(app, photos) - logo() return app diff --git a/applications/common/utils/upload.py b/applications/common/utils/upload.py index 41184c7..2a859a4 100644 --- a/applications/common/utils/upload.py +++ b/applications/common/utils/upload.py @@ -1,12 +1,8 @@ -from flask_uploads import UploadSet, IMAGES - - -photos = UploadSet('photos', IMAGES) - import os from flask import current_app from sqlalchemy import desc from applications.extensions import db +from applications.extensions.init_upload import photos from applications.models import Photo from applications.schemas import PhotoSchema from applications.common.curd import model_to_dicts @@ -22,7 +18,6 @@ def get_photo(page, limit): def upload_one(photo, mime): filename = photos.save(photo) file_url = photos.url(filename) - upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST") size = os.path.getsize(upload_url + '/' + filename) photo = Photo(name=filename, href=file_url, mime=mime, size=size) diff --git a/applications/extensions/__init__.py b/applications/extensions/__init__.py index 75e800d..3a0ac03 100644 --- a/applications/extensions/__init__.py +++ b/applications/extensions/__init__.py @@ -7,6 +7,7 @@ from .init_template_directives import init_template_directives from .init_error_views import init_error_views from .init_mail import init_mail from .init_apscheduler import init_scheduler +from .init_upload import init_upload def init_plugs(app: Flask) -> None: @@ -17,3 +18,4 @@ def init_plugs(app: Flask) -> None: init_error_views(app) init_mail(app) init_scheduler(app) + init_upload(app) diff --git a/applications/extensions/init_upload.py b/applications/extensions/init_upload.py new file mode 100644 index 0000000..10eba8a --- /dev/null +++ b/applications/extensions/init_upload.py @@ -0,0 +1,9 @@ +from flask import Flask +from flask_uploads import configure_uploads +from flask_uploads import UploadSet, IMAGES + +photos = UploadSet('photos', IMAGES) + + +def init_upload(app: Flask): + configure_uploads(app, photos) diff --git a/applications/templates/admin/photo/photo_add.html b/applications/templates/admin/photo/photo_add.html index 77469ae..d18600d 100644 --- a/applications/templates/admin/photo/photo_add.html +++ b/applications/templates/admin/photo/photo_add.html @@ -43,7 +43,7 @@ //选完文件后不自动上传 upload.render({ elem: '#logo-img' - , url: "{{ url_for('adminFile.upload') }}" + , url: "{{ url_for('adminFile.upload_api') }}" , auto: false , exts: 'jpg|png|gif|bmp|jpeg' , size: 1000 diff --git a/applications/view/admin/file.py b/applications/view/admin/file.py index 6eb5404..8e45420 100644 --- a/applications/view/admin/file.py +++ b/applications/view/admin/file.py @@ -41,6 +41,7 @@ def upload_api(): if 'file' in request.files: photo = request.files['file'] mime = request.files['file'].content_type + file_url = upload_curd.upload_one(photo=photo, mime=mime) res = { "msg": "上传成功",