.net 实现富文本编辑器Ueditor上传附件自定义路径(绝对路径)
注:本次按照修改图片路径为例,后台为ASP.NET。其他附件同图片路径。
背景:ueditor默认将附件放到相对项目某个路径下,但是项目要求要单独放,才有了这个解决方案。这个方案也适用于将文件放到服务器。
- 修改config.json下imagePathFormat字段
将该字段的值设置为本地某个磁盘例如:
"imagePathFormat": "D://upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",
- 修改UploadHandler.cs
代码大约在67行左右
//改前
var localPath = Server.MapPath(savePath);
//改后
var localPath = savePath;
修改完这两个后会发现图片可以保存到指定的位置,但是在新闻编辑器中无法回显,我们再接着改。
- 再修改config.json下imagePathFormat字段
"imagePathFormat": "/image/{yyyy}{mm}{dd}/{time}{rand:6}",
- 往项目的web.config添加字段
<!--保存附件本地物理路径-->
<add name="saveFile" connectionString="D://upload"></add>
- 再修改UploadHandler.cs
大约在67行,这次我们将本地的物理路径改成可配置的,以后在web.config中修改即可。
string path = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["saveFile"].ToString();
var localPath = path + savePath;
- 将本地存储附件文件夹发布为站点
通过IIS管理器,将存储的物理路径发布为站点,这里我们就是将D://upload 该文件夹发布为网站,给配一个IP和端口号即可。如何发布网站不在叙述。 - 修改config.json下的imageUrlPrefix字段
"imagePathFormat": "http://发布站点的IP:端口号",
至此完成了富文本编辑框上传路径问题的修改,以及回显的问题。其他附件同图片的,只把config.json下其他附件配置路径修改即可
注:当你上传附件比如文档时,文档前面会有一个小图标,如果前后端分离或者显示新闻和你这个项目不在同一个目录情况下,可能会发生显示不出来的问题。
可参考如下:
附件小图标问题:https://zixuephp.net/article-370.html