百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
2014-03-14 09:24 四毛的家 阅读(1256) 评论(0) 编辑 收藏 举报本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程
默认UEditor上传图片的路径是,编辑器包目录里面的net目录下
下面就演示如何修改图片和附件的上传路径,先看效果:
步骤1.首先修改ueditor.config.js文件,如下图,红色框即为修改后的效果。
说明:1.imagePath:是用来显示图片上传成功后,编辑器里图片的预览效果。如果此路径出错,那么在编辑器中就无法预览到我们刚上传图片。可以查看HTML代码查看路径。
2.savePath:这个就是我们上传图片时选择的选择保存目录,这个需要和Config.cs里面保持一致,否者报:非法上传目录。另外本目录在imageUp.ashx中保存文件时用到的。见步骤2中红色框里面的path。
3.filePaht:和imagePath类似,用来附件上传后,在编辑器里显示的附件的路径。如果有问题,发布后将无法下载附件。
步骤2.修改imageUp.ashx,如下图,红色框中即为修改后的效果。注意箭头所指,如果你遇到类似错误,那么就说明你没有修改Config.cs文件(见步骤2).
说明:1,上图箭头所指的非法上传目录,是编辑器验证图片上传的路径,以防止恶人修改js代码,非法乱上传。要防止出现这个问题,就要保证ueditor.config.js中图片上传区域中的savePath和config.cs中保持一致。
2.红色框即为图片保存的磁盘路径,注意,path(这里相当于ueditor.config.js中图片上传区域中的savePath中指定的upload)前加了’/’是为了保证图片存放的位置是根目录下指定文件夹upload,后面硬编码了upload下面的images文件夹。
步骤3.修改Config.cs文件,见下图。因为步骤1中我们修改了ueditor.config.js中图片上传配置区图片保存路径,所以这里也需要修改否则会报:非法上传目录
注意,这里就非常简单了,就是服务器端验证图片上传路径,以防止恶人通过脚本修改来而已上传。
步骤4.修改fileUp.ashx文件,见下图,红色框即为修改后效果。
说明,1,这里硬编码了图片的具体上传路径。注意pathbase路径我们以”/”开头,这个还是保证上传文件夹是根目录下的upload/files,如果不带,那么会是相对于编辑器所在页面,然后进行查找upload文件夹。有疑问可以多实验Server.MapPath这个方法具体效果。
补充:其实整个配置都不是很难,因为我们可以直接用vs2010来调试编辑器中后台代码,只要能调试一切都不是问题了。关键点就是百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程中所说的,首先要移除后台文件头部中类似<%@ Assembly Src="xxxx.cs" %>的代码。不知道百度编辑器团队是太高手了还是我太菜鸟了,用这么反人类的方法引用cs文件,导致vs死活捕获不了我添加的断点,移除后就顺利捕获了。
贴心服务:已将文中项目打包,因为文中图片太大太多,恐网速慢的朋友打不开,亦将本文存为图片打包。下载请至:http://yunpan.cn/Q4NbpGaH5tFeA
updated 2014-09-01
因为之前配置成功过,在新的项目里就直接拷贝使用了,发现一些功能无法使用。比如上传图片。按照上面的说明进行调试始终无法捕获断点。
经多次尝试,发现以下步骤,最终获取了断点。
1.新建一个vs解决方案,然后添加现有网站,指向编辑器所在的包net文件夹。
2.生成一下网站,此时我的net网站里有报错。原来是引用命名空间错误。修改之后,直至可以生成网站成功。
其实此步骤就是排除net里面可能错误的代码。
3.再次进入正式项目,手工附加进程进行调试,断点如期捕获。
总结就是,最大的问题时编辑里的net文件夹相关代码写错后,它不会提示你,也不会生成错误日志,以致比较难发现错误。