python学习
This commit is contained in:
91
web/controllers/upload/Upload.py
Normal file
91
web/controllers/upload/Upload.py
Normal file
@@ -0,0 +1,91 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from flask import Blueprint,request,jsonify
|
||||
from application import app
|
||||
import re,json
|
||||
from common.libs.UploadService import UploadService
|
||||
from common.libs.UrlManager import UrlManager
|
||||
from common.models.Image import Image
|
||||
route_upload = Blueprint('upload_page', __name__)
|
||||
|
||||
'''
|
||||
参考文章:https://segmentfault.com/a/1190000002429055
|
||||
'''
|
||||
|
||||
@route_upload.route("/ueditor",methods = [ "GET","POST" ])
|
||||
def ueditor():
|
||||
|
||||
req = request.values
|
||||
action = req['action'] if 'action' in req else ''
|
||||
|
||||
if action == "config":
|
||||
root_path = app.root_path
|
||||
config_path = "{0}/web/static/plugins/ueditor/upload_config.json".format( root_path )
|
||||
with open( config_path,encoding="utf-8" ) as fp:
|
||||
try:
|
||||
config_data = json.loads( re.sub( r'\/\*.*\*/' ,'',fp.read() ) )
|
||||
except:
|
||||
config_data = {}
|
||||
return jsonify( config_data )
|
||||
|
||||
if action == "uploadimage":
|
||||
return uploadImage()
|
||||
|
||||
if action == "listimage":
|
||||
return listImage()
|
||||
|
||||
return "upload"
|
||||
|
||||
@route_upload.route("/pic",methods = [ "GET","POST" ])
|
||||
def uploadPic():
|
||||
file_target = request.files
|
||||
upfile = file_target['pic'] if 'pic' in file_target else None
|
||||
callback_target = 'window.parent.upload'
|
||||
if upfile is None:
|
||||
return "<script type='text/javascript'>{0}.error('{1}')</script>".format( callback_target,"上传失败" )
|
||||
|
||||
ret = UploadService.uploadByFile(upfile)
|
||||
if ret['code'] != 200:
|
||||
return "<script type='text/javascript'>{0}.error('{1}')</script>".format(callback_target, "上传失败:" + ret['msg'])
|
||||
|
||||
return "<script type='text/javascript'>{0}.success('{1}')</script>".format(callback_target,ret['data']['file_key'] )
|
||||
|
||||
def uploadImage():
|
||||
resp = { 'state':'SUCCESS','url':'','title':'','original':'' }
|
||||
file_target = request.files
|
||||
upfile = file_target['upfile'] if 'upfile' in file_target else None
|
||||
if upfile is None:
|
||||
resp['state'] = "上传失败"
|
||||
return jsonify(resp)
|
||||
|
||||
ret = UploadService.uploadByFile( upfile )
|
||||
if ret['code'] != 200:
|
||||
resp['state'] = "上传失败:" + ret['msg']
|
||||
return jsonify(resp)
|
||||
|
||||
resp['url'] = UrlManager.buildImageUrl( ret['data']['file_key'] )
|
||||
return jsonify( resp )
|
||||
|
||||
def listImage():
|
||||
resp = { 'state':'SUCCESS','list':[],'start':0 ,'total':0 }
|
||||
|
||||
req = request.values
|
||||
|
||||
start = int( req['start']) if 'start' in req else 0
|
||||
page_size = int( req['size']) if 'size' in req else 20
|
||||
|
||||
query = Image.query
|
||||
if start > 0:
|
||||
query = query.filter( Image.id < start )
|
||||
|
||||
list = query.order_by( Image.id.desc() ).limit( page_size ).all()
|
||||
images = []
|
||||
|
||||
if list:
|
||||
for item in list:
|
||||
images.append( { 'url': UrlManager.buildImageUrl( item.file_key ) } )
|
||||
start = item.id
|
||||
resp['list'] = images
|
||||
resp['start'] = start
|
||||
resp['total'] = len( images )
|
||||
return jsonify( resp )
|
||||
|
||||
Reference in New Issue
Block a user