File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,9 +13,11 @@ def create_cms():
1313 from .admin import admin_api
1414 from .user import user_api
1515 from .log import log_api
16+ from .file import file_api
1617 from .test import test_api
1718 admin_api .register (cms )
1819 user_api .register (cms )
1920 log_api .register (cms )
21+ file_api .register (cms )
2022 test_api .register (cms )
2123 return cms
Original file line number Diff line number Diff line change 1+ """
2+ :copyright: © 2019 by the Lin team.
3+ :license: MIT, see LICENSE for more details.
4+ """
5+ from flask import request
6+ from lin import login_required
7+ from lin .exception import Success
8+ from lin .redprint import Redprint
9+
10+ from app .extensions .file .local_uploader import LocalUploader
11+
12+ file_api = Redprint ('file' )
13+
14+
15+ @file_api .route ('/' , methods = ['POST' ])
16+ @login_required
17+ def post_file ():
18+ files = request .files
19+ uploader = LocalUploader (files )
20+ uploader .upload ()
21+ return Success ()
Original file line number Diff line number Diff line change 1+ # 文件相关配置
Original file line number Diff line number Diff line change 1+ import os
2+
3+ from werkzeug .utils import secure_filename
4+
5+ from lin .core import File
6+ from lin .file import Uploader
7+
8+
9+ class LocalUploader (Uploader ):
10+
11+ def upload (self , ** kwargs ):
12+ ret = dict (file_storage = self ._file_storage , file = [])
13+ for single in self ._file_storage :
14+ secure_filename (single .filename )
15+ name = self ._generate_uuid () + self ._get_ext (single )
16+ full_path = os .path .join (self ._store_dir , name )
17+ single .save (full_path )
18+ file = File .create_file (
19+ name = name ,
20+ path = full_path ,
21+ _type = 1 ,
22+ extension = self ._get_ext (single ),
23+ size = self ._get_size (single ),
24+ commit = True
25+ )
26+ ret ['file' ].append (file )
27+ return ret
You can’t perform that action at this time.
0 commit comments