您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

node.js集成百度UE编辑器_node.js

2024/2/23 5:36:06发布22次查看
摘要:
最近在搭建自己的博客,这一段时间可能没有时间来写博客了,但是有了好东西还是要分享给大家。博客网站必然要有编辑文章的编辑器,所以在网上查了些资料。大部分编辑器的后台是基于java、php、asp等,很少有基于node.js的。本来是想用markdown来写文章,但是样式不好调,所以最终还是选择了百度的ueditor,其官网上并没有基于node.js的代码。但是幸运的是我在github上找到了一个类似的,所以将他分享给大家,如果你打算也用node.js来开发自己的博客时可以参考下。
下载引用:
首先到ueditor官网上下载代码,我下载的是开发版1.4.3php utf-8版本,解压之后将文件放到public目录下,此处我将其重命名为ueditor。然后在你所需要的页面头部加上这三行
复制代码 代码如下:
然后在需要的地方调用下面的代码
复制代码 代码如下:
后台修改:
下载下来的是基于php的,现在我们来改成基于node.js的。首先把不用的php文件删除掉,然后新建文件夹nodejs,并在此目录下新建文件config.json,内容如下:
复制代码 代码如下:
/* 前后端通信相关的配置,注释只允许使用多行方式 */
{
    /* 上传图片配置项 */
    imageactionname: uploadimage, /* 执行上传图片的action名称 */
    imagefieldname: upfile, /* 提交的图片表单名称 */
    imagemaxsize: 2048000, /* 上传大小限制,单位b */
    imageallowfiles: [.png, .jpg, .jpeg, .gif, .bmp], /* 上传图片格式显示 */
    imagecompressenable: true, /* 是否压缩图片,默认是true */
    imagecompressborder: 1600, /* 图片压缩最长边限制 */
    imageinsertalign: none, /* 插入的图片浮动方式 */
    imageurlprefix: , /* 图片访问路径前缀 */
    imagepathformat: /ueditor/php/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
                                /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
                                /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */
                                /* {time} 会替换成时间戳 */
                                /* {yyyy} 会替换成四位年份 */
                                /* {yy} 会替换成两位年份 */
                                /* {mm} 会替换成两位月份 */
                                /* {dd} 会替换成两位日期 */
                                /* {hh} 会替换成两位小时 */
                                /* {ii} 会替换成两位分钟 */
                                /* {ss} 会替换成两位秒 */
                                /* 非法字符 \ : * ? | */
                                /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */
    /* 涂鸦图片上传配置项 */
    scrawlactionname: uploadscrawl, /* 执行上传涂鸦的action名称 */
    scrawlfieldname: upfile, /* 提交的图片表单名称 */
    scrawlpathformat: /ueditor/php/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
    scrawlmaxsize: 2048000, /* 上传大小限制,单位b */
    scrawlurlprefix: , /* 图片访问路径前缀 */
    scrawlinsertalign: none,
    /* 截图工具上传 */
    snapscreenactionname: uploadimage, /* 执行上传截图的action名称 */
    snapscreenpathformat: /ueditor/php/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
    snapscreenurlprefix: , /* 图片访问路径前缀 */
    snapscreeninsertalign: none, /* 插入的图片浮动方式 */
    /* 抓取远程图片配置 */
    catcherlocaldomain: [127.0.0.1, localhost, img.baidu.com],
    catcheractionname: catchimage, /* 执行抓取远程图片的action名称 */
    catcherfieldname: source, /* 提交的图片列表表单名称 */
    catcherpathformat: /ueditor/php/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
    catcherurlprefix: , /* 图片访问路径前缀 */
    catchermaxsize: 2048000, /* 上传大小限制,单位b */
    catcherallowfiles: [.png, .jpg, .jpeg, .gif, .bmp], /* 抓取图片格式显示 */
    /* 上传视频配置 */
    videoactionname: uploadvideo, /* 执行上传视频的action名称 */
    videofieldname: upfile, /* 提交的视频表单名称 */
    videopathformat: /ueditor/php/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
    videourlprefix: , /* 视频访问路径前缀 */
    videomaxsize: 102400000, /* 上传大小限制,单位b,默认100mb */
    videoallowfiles: [
        .flv, .swf, .mkv, .avi, .rm, .rmvb, .mpeg, .mpg,
        .ogg, .ogv, .mov, .wmv, .mp4, .webm, .mp3, .wav, .mid], /* 上传视频格式显示 */
    /* 上传文件配置 */
    fileactionname: uploadfile, /* controller里,执行上传视频的action名称 */
    filefieldname: upfile, /* 提交的文件表单名称 */
    filepathformat: /ueditor/php/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}, /* 上传保存路径,可以自定义保存路径和文件名格式 */
    fileurlprefix: , /* 文件访问路径前缀 */
    filemaxsize: 51200000, /* 上传大小限制,单位b,默认50mb */
    fileallowfiles: [
        .png, .jpg, .jpeg, .gif, .bmp,
        .flv, .swf, .mkv, .avi, .rm, .rmvb, .mpeg, .mpg,
        .ogg, .ogv, .mov, .wmv, .mp4, .webm, .mp3, .wav, .mid,
        .rar, .zip, .tar, .gz, .7z, .bz2, .cab, .iso,
        .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf, .txt, .md, .xml
    ], /* 上传文件格式显示 */
    /* 列出指定目录下的图片 */
    imagemanageractionname: listimage, /* 执行图片管理的action名称 */
    imagemanagerlistpath: /ueditor/php/upload/image/, /* 指定要列出图片的目录 */
    imagemanagerlistsize: 20, /* 每次列出文件数量 */
    imagemanagerurlprefix: , /* 图片访问路径前缀 */
    imagemanagerinsertalign: none, /* 插入的图片浮动方式 */
    imagemanagerallowfiles: [.png, .jpg, .jpeg, .gif, .bmp], /* 列出的文件类型 */
    /* 列出指定目录下的文件 */
    filemanageractionname: listfile, /* 执行文件管理的action名称 */
    filemanagerlistpath: /ueditor/php/upload/file/, /* 指定要列出文件的目录 */
    filemanagerurlprefix: , /* 文件访问路径前缀 */
    filemanagerlistsize: 20, /* 每次列出文件数量 */
    filemanagerallowfiles: [
        .png, .jpg, .jpeg, .gif, .bmp,
        .flv, .swf, .mkv, .avi, .rm, .rmvb, .mpeg, .mpg,
        .ogg, .ogv, .mov, .wmv, .mp4, .webm, .mp3, .wav, .mid,
        .rar, .zip, .tar, .gz, .7z, .bz2, .cab, .iso,
        .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf, .txt, .md, .xml
    ] /* 列出的文件类型 */
}
然后找到文件ueditor.config.js,找到下面这行,将后面引号改成你自己的后台路径。
serverurl: url + php/controller.php
比如:
serverurl: url + ueditor
我们需要安装下面这些包
复制代码 代码如下:
dependencies: {
    body-parser: ~1.0.0,
    express: ~4.2.0,
    ueditor: ^1.0.0
  }
后台代码:
复制代码 代码如下:
var express = require('express');var path = require('path');
var app = express();
var ueditor = require(ueditor);
var bodyparser = require('body-parser');
app.use(bodyparser.urlencoded({
  extended: true
}));
app.use(bodyparser.json());
app.use(/ueditor/ueditor, ueditor(path.join(__dirname, 'public'), function(req, res, next) {
    // ueditor 客户发起上传图片请求
    if (req.query.action === 'uploadimage') {
        var foo = req.ueditor;
        var imgname = req.ueditor.filename;
        var img_url = '/images/ueditor/';
        //你只要输入要保存的地址 。保存操作交给ueditor来做
        res.ue_up(img_url);
    }
    //  客户端发起图片列表请求
    else if (req.query.action === 'listimage') {
        var dir_url = '/images/ueditor/';
        // 客户端会列出 dir_url 目录下的所有图片
        res.ue_list(dir_url);
    }
    // 客户端发起其它请求
    else {
        res.setheader('content-type', 'application/json');
        res.redirect('/ueditor/nodejs/config.json');
    }
}));
注意:上面只是处理了图片上传的,视频上传的可以看官网api,仿照开发。
以上就是在nodejs项目中集成百度ue编辑器的全部内容了,希望大家能够喜欢。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product