现在位置首页 / 前端开发 /正文

百度UEditor图片上传配置及默认使用远程url地址

作者: IT小兵 | 2014年10月14日| 热度:℃ | 评论: |参与:

百度Ueditor现在是越来越强大了。我使用的是后台是net的。在以前分享过一篇文章:[强大的百度开源编辑器ueditor在.net的部署详解].今天遇到一个问题:

图片上传配置成功了,图片也上传了,但是有个问题就是图片在保存的时候,使用的是相对地址。

如图:

红色部分是现在存在的问题,我想改成下面绿色部分的带有我网站的绝对地址。

在百度搜索了好久,遇到这个问题的不多,但是有个哥们确实也遇到我这个问题,参考:

http://blog.csdn.net/javaloverkehui/article/details/8465112

但是他修改的版本属于比较早的版本了。我发现在新版上根本没有这样的配置。或者说配置的地方不一样了。

没办法,我重回百度ueditor的官网,查看文档。发现这样一段:

文档说明

支持版本:支持 UEditor 1.4.2+ 的版本

1.4.2+ 以后路径配置主要相关的配置项是 PathFormat 和 UrlPrefix 的配置项。

这两个配置项主要针对如下功能:

  • 图片上传:imagePathFormat、imageUrlPrefix

  • 涂鸦上传:scrawlPathFormat、scrawlUrlPrefix

  • 截屏上传:snapscreenPathFormat、snapscreenUrlPrefix

  • 附件上传:filePathFormat、fileUrlPrefix

  • 视频上传:videoPathFormat、videoUrlPrefix

当前文档的例子是以 图片上传 为例介绍,其他配置方法类同。

imagePathFormat 介绍

作用:指定文件上传路径和返回路径,支持格式化

1.4.2+ 路径配置项无论是否以 "/" 开头,都是相对于 网站根目录 的路径。

例如,假设网站根目录是:"D://apache/www/",以下是 imagePathFormat 的配置值以及对应的存放目录。

"/upload/{filename}" --> "D://apache/www/upload/"

"upload/{filename}" --> "D://apache/www/upload/"

"./upload/{filename}" --> "D://apache/www/upload/"

"../upload/{filename}" --> "D://apache/upload/"

1 指定文件保存目录

上传路径可以使用根路径和相对路径,推荐使用根路径的配置。

1.1 使用 "/" 开头的根路径

imagePathFormat 参数推荐使用 "/" 开头的配置,这样的值指相对于网站根目录的位置。

例子:网站根目录是 "D://apache/www/",imagePathFormat 参数设置为 "/upload/image/{filename}",那么上传位置在 "D://apache/www/upload/image/" 目录下。

1.2 使用非 "/" 开头的相对路径

imagePathFormat 参数使用非 "/" 开头的相对路径时,上传位置也是相对于网站根目录(asp、.net例外,相对于应用程序的目录)。

例子1:网站根目录是 "D://apache/www/",imagePathFormat 参数设置为 "ueditor/php/upload/{filename}",那么上传位置在 "D://apache/www/ueditor/php/upload/" 目录下。

例子2:网站根目录是 "D://apache/www/",imagePathFormat 参数设置为 "../upload/{filename}",那么上传位置在 "D://apache/upload/" 目录下。

2 控制插入到编辑器的路径

2.1 后台返回路径

后台执行上传结束后,返回路径是按照 imagePathFormat 配置项替换后的字符串,原样输出到前端。

例子1:上传文件名为 123.jpg,imagePathFormat 参数设置为 "/ueditor/php/upload/{filename}",那么返回路径是 "/ueditor/php/upload/123.jpg"。

例子2:上传文件名为 123.jpg,imagePathFormat 参数设置为 "../upload/{filename}",那么返回路径是 "../upload/123.jpg"。

2.2 通过 imageUrlPrefix 配置项给返回路径添加前缀

有一些情况下仅仅靠返回路径是不能得到正常的图片链接,需要通过配置 imageUrlPrefix 给插入图片的路径添加前缀。

有两种情况下需要配置 imageUrlPrefix:

  • asp和.net下,应用程序目录不是网站根目录,需要给路径添加前缀。

  • 在跨域上传的情况下,就需要配置imageUrlPrefix前缀。假设页面在 a.com 域下,文件上传到 b.com 域下,这样要配置 imageUrlPrefix 为 "http://b.com" 才能得到正常路径。

最下面标红的部分就是我遇到的问题。根据后端语言不一样,修改文件路径不一样,但是都是修改:config.json

    /* 上传图片配置项 */
    "imageActionName": "uploadimage", /* 执行上传图片的action名称 */
    "imageFieldName": "upfile", /* 提交的图片表单名称 */
    "imageMaxSize": 2048000, /* 上传大小限制,单位B */
    "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
    "imageCompressEnable": true, /* 是否压缩图片,默认是true */
    "imageCompressBorder": 1600, /* 图片压缩最长边限制 */
    "imageInsertAlign": "none", /* 插入的图片浮动方式 */
    "imageUrlPrefix": "http://192.168.3.9/ds/ueditor/net/", /* 图片访问路径前缀 */

将 "imageUrlPrefix": "http://192.168.3.9/ds/ueditor/net/", /* 图片访问路径前缀 */

修改成绝对地址即可。

这样问题就解决了。


ueditor其他问题:

1、设置高度:由于ueditor默认是将所有属性屏蔽的。高度是默认自适应的,可以通过修改ueditor.config.js注释的选项打开。

initialFrameHeight:500  //初始化编辑器高度,默认320

或者修改默认

2、后台config.json是通过后台类App_Code下的Config.cs读取的。这个地方我出过亏,如果发现修改config.json后配置没有变化的,可以在这个函数上做一下监控:

        var json = File.ReadAllText(HttpContext.Current.Server.MapPath("config.json"));
        return JObject.Parse(json);


点击阅读本文所属分类的更多文章: 前端开发 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:suchso@vip.qq.com

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

抢天猫双11红包
推荐使用阿里云服务器
echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:suchso@vip.qq.com

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询