ueditor 上传图片,imagePathFormat 不能用虚拟目录
时间: 2024-03-02 16:53:29 浏览: 128
ueditor编辑器不能上传图片问题的解决方法
是的,ueditor的`imagePathFormat`配置项默认是不支持虚拟目录的,需要进行一些修改才能够支持。
具体的做法是,在ueditor的`config.json`配置文件中,找到`imagePathFormat`配置项,修改其值为如下格式:
```
"imagePathFormat": "/Uploads/{yyyy}{mm}{dd}/{time}{rand:6}"
```
其中,`/Uploads/`为你想要保存上传图片的虚拟目录路径,`{yyyy}`、`{mm}`、`{dd}`等为时间格式化参数,`{time}`为时间戳,`{rand:6}`为6位随机数。
然后,在ueditor的后台处理程序中,将`imagePathFormat`中的虚拟目录路径转换为物理路径,例如:
```
var pathFormat = "/Uploads/{yyyy}{mm}{dd}/{time}{rand:6}";
var savePath = pathFormat.replace(/{([^}]*)}/g, function (match, key) {
var value = "";
switch (key) {
case "yyyy":
value = date.getFullYear();
break;
case "mm":
value = date.getMonth() + 1;
break;
case "dd":
value = date.getDate();
break;
case "time":
value = date.getTime();
break;
case "rand":
value = Math.floor(Math.random() * 1000000);
break;
}
return value.toString();
});
savePath = savePath.replace(/^\/Uploads\//i, Server.MapPath("~/Uploads/"));
```
这样就可以将上传的图片保存到虚拟目录中了,并且在ueditor中正常显示。需要注意的是,需要在服务器上配置好相应的虚拟目录,以确保上传文件的正确保存和访问。
阅读全文