自己在写的flask页面时,前端用的md,后端用的ue,官网上都是php、jsp、asp的接口,然而自己人生苦短,所以做了记录
from app.config.ueditor import Config from app.service.uploader import Upload Ueditor = Blueprint('Ueditor', __name__, template_folder='templates') def getFileList(config): reData = [] files = os.listdir(config['path']) for file in files: file_n_path = os.path.join(config['path'], file) if os.path.isfile(file_n_path): fileType = file.split('.')[-1] if '.{}'.format(fileType) in config['allow']: reData.append(config['Prefix'].format(file=file)) else: pass return reData @Ueditor.route('/controller.do', methods=['get', 'post']) # @_isLogin def uediter_do(): try: action = request.args.get('action') # action = request.args.get('action') if request.method == 'GET' else request.form.get('action') noCache = request.args.get('noCache') if request.method == 'GET' else request.form.get('noCache') print(action) if action == 'config': print(noCache) return Response(json.dumps(Config), content_type='application/json') elif action in ['uploadimage', 'uploadfile', 'uploadvideo']: if action == 'uploadimage': # 上传图片 field_name = Config['imageFieldName'] config = { "pathFormat": Config['imagePathFormat'], # 文件保存目录 "fileFormat": Config['imageFileFormat'], # 文件名 "maxSize": Config['imageMaxSize'], # 上传大小限制 "allowFiles": Config['imageAllowFiles'], # 上传图片格式 "urlPrefix": Config['imageUrlPrefix'] # 图片访问路径 } elif action == 'uploadvideo': field_name = Config['videoFieldName'] config = { "pathFormat": Config['videoPathFormat'], # 文件保存目录 "fileFormat": Config['videoFileFormat'], # 文件名 "urlPrefix": Config['videoUrlPrefix'], # 图片访问路径 "maxSize": Config['videoMaxSize'], "allowFiles": Config['videoAllowFiles'] } else: field_name = Config['fileFieldName'] config = { "pathFormat": Config['filePathFormat'], "fileFormat": Config['fileFileFormat'], # 文件名 "urlPrefix": Config['fileUrlPrefix'], # 图片访问路径 "maxSize": Config['fileMaxSize'], "allowFiles": Config['fileAllowFiles'] } # 判断文件是否真实 if field_name in request.files: # 获取文件 file = request.files.get(field_name) # 执行上传 upload_obj = Upload(file, config, config['pathFormat']) result = upload_obj.get_file_info() return jsonify(result) else: return jsonify(state='文件错误') elif action == 'uploadscrawl': # 上传涂鸦 config = { "pathFormat": Config['scrawlPathFormat'], "maxSize": Config['scrawlMaxSize'], # "allowFiles": CONFIG['scrawlAllowFiles'], "oriName": "scrawl.png", "fileFormat": Config['scrawlFileFormat'], # 文件名 "urlPrefix": Config['scrawlUrlPrefix'], # 图片访问路径 } field_name = Config['scrawlFieldName'] if field_name in request.form: uploader = Upload(request.form[field_name], config, config['pathFormat'], 'base64') result = uploader.get_file_info() return jsonify(result) else: return jsonify(state='上传接口错误') elif action == 'catchimage': # 抓取远程文件 # 抓取远程文件和截图没有写,截图工具需要下载,没必要 start = request.args.get('start') if request.method == 'GET' else request.form.get('start') size = request.args.get('size') if request.method == 'GET' else request.form.get('size') return jsonify(list=[], start="{}".format(start), state="no match file", total=0) elif action in ['listfile', 'listimage']: if action == 'listfile': # 列出文件 config = {'path': Config['fileManagerListPath'], 'Prefix': Config['fileManagerUrlPrefix'], 'allow': Config['fileManagerAllowFiles']} else: # 列出图片 config = {'path': Config['imageManagerListPath'], 'Prefix': Config['imageManagerUrlPrefix'], 'allow': Config['imageManagerAllowFiles']} return jsonify(list=getFileList(config), start="0", state="no match file", total=0) else: return jsonify(state='请求地址出错') except Exception as e: print(e) return jsonify(state='error:{}'.format(e))
因为截图需要安插件,抓取远程文件没找到该功能,所以没写
参考了托小尼https://www.diandian100.cn的部分代码,进行了优化
更多代码详见https://gitee.com/heanny/codes/tm7w5al18qvdoehjngi2931
暂无评论,还不快来坐沙发...