一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2014-10-14 编辑:简简单单 来源:一聚教程网

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

IT分享

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

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

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);

热门栏目