背景:在ewebeditor中插入了一张从word中粘贴过来的表格(未去除word格式),140行*4列,结果服务器死活无法获取整张表内容,只能获取到表最后几行内容;同时,ewebeidtor所在的表单中的其他控件值也无法获取。于是在ewebeidtor中查看该表的源代码,再将源代码保存到txt中,一看大小,700K!于是明白了问题所在:肯定是服务器IIS未配置,未使其支持200K以上的字节上传。于是将服务器上C:\windows\system32\inetsrv\metabase.xml中的ASPMaxRequestEntityAllowed="204800"修改为ASPMaxRequestEntityAllowed="20480000",即让其支持2M的内容上传,修改完成后,问题顺利解决!
同时,ewebeditor内部有个文本拆分函数,该函数在\ewebeditor\Include\Editor.js文件中的第995行,当编辑器中的文本内容大于50000个汉字时,会拆分内容,将其分别保存到好几个textarea中,这些textarea的name属性值保持与该编辑器所关联的那个隐藏域或者textarea的name属性值相等,因此,在服务器获取编辑器中的文本内容时,需要将表单中的每个隐藏的textarea中的内容进行拼接,示例代码如下:
for i = 1 to request.form( " Content " ).count ' 假设textarea的name="Content"
content = content & request.form( " Content " )(i)
next
content = ubbcode(content)
不过,当上传的文本内容很多时,如果要重新编辑这些内容,编辑完成之后重新上传,则会出现莫名的错误,此时可以直接删除数据库里的文章,然后重新上传一篇即可。
当向ewebeditor中插入word表格时,应该在word中将表格宽度设为百分比,同时也按照百分比调整各列宽度,这样上传后,html显示时便不会出现很多格式上的问题。