html编辑器 flask,Flask项目集成富文本编辑器

UEditor简介

UEditor是是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。

具体文档参见:http://fex-team.github.io/ueditor/

UEditor入门部署与体验

1.1下载UEditor

访问UEditor首页,下载1.4.3 PHP UFT-8版本的UEditor(最新版本为1.5.0),解压至Flask项目的static目录。解压后UEditor树状结构图如下图所示:|  static/

|    |  ueditor/

|    |    |+dialogs/

|    |    |+lang/

|    |    |+php/

|    |    |+themes/

|    |    |+third-party/

|    |    |-config.json

|    |    |-index.html

|    |    |-ueditor.all.js

|    |    |-ueditor.all.min.js

|    |    |-ueditor.config.js

|    |    |-ueditor.parse.js

|    |    |-ueditor.parse.min.js

1.2创建demo文件

在解压后的目录创建demo.html,填入下面的html代码

ueditor demo

这里写你的初始化内容

var ue = UE.getEditor('container');

1.3在浏览器中打开demo.html

如果在浏览器中卡到了下面的编辑器,那么恭喜你,初步部署UEditor成功?!

116bd66fa2c5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Flask实现后端请求

与后台通信的功能:

1.上传图片

2.粘贴、拖动上传图片

3.上传视频

4.图片管理

5.图片转存远程图片

获取配置信息

在初始化编辑器时,首先向后端请求配置信息,后端接受到请求后,返回相应的配置信息。

请求参数:GET    {"action": "config"}

POST    "upfile":File Data

返回格式:// 需要支持callback参数,返回jsonp格式

{

"imageUrl": "http://localhost/ueditor/php/controller.php?action=uploadimage",     "imagePath": "/ueditor/php/", "imageFieldName": "upfile",

"imageMaxSize": 2048,

"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"]

}

文件、视频、图片上传

由于不同方式上传文件的功能的实现方法是一样的,这里只做一次讲解。上传的文件可用request.files['upfile']获取。

请求参数:GET {"action": "uploadimage"}

POST "upfile": File Data

action说明:   uploadimage上传图片、uploadvideo上传视频、uploadfile上传文件

返回格式:{

"state": "SUCCESS",

"url": "upload/demo.jpg",

"title": "demo.jpg",

"original": "demo.jpg"

·}

功能代码实现:@app.route('/upload/', methods=['GET', 'POST'])

def upload():

result = {}

action = request.args.get('action')

if action in ('uploadscrawl'):

base64data = request.form['upfile'] # 这个表单名称以配置文件为准

img = base64.b64decode(base64data) # 这里保存文件并返回相应的URL

with open(filename_to_save, 'wb') as fp:

fp.write(img)

result = {

"state": "SUCCESS",

"url": "upload/demo.jpg",

"title": "demo.jpg",

"original": "demo.jpg"

}

return json.dumps(result)

远程抓图

远程抓图主要是把站外的图片保存到本地或指定的图片服务器,当复制或粘贴其他网站的图片时,会触发远程抓图功能。

远程图片列表可用通过” request.form.getlist('source[]') “获取。

思路:遍历远程图片列表,通过urllib将图片下载并进行保存。

请求参数:GET {

"action": "catchimage",

"source": [

"http://a.com/1.jpg“

]

}

返回格式:// 需要支持callback参数,返回jsonp格式

// list项的state属性和最外面的state格式一致

{

"state": "SUCCESS",

"list": [{

"url": "upload/1.jpg",

"source": "http://b.com/2.jpg",

"state": "SUCCESS" }

]

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值