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": "上传成功",