追万伟德国际1946公司-专业从事企业伟德国际1946伟德国际app系统bv1946伟德娱乐用户管理系统进销存系统等bv1946伟德娱乐

bv1946伟德娱乐过程中,百度UEditor编辑器在服务中不能上传图片

不可否认,百度UEditor是一款非常优秀的web编辑器,近期我们在开发一套伟德国际1946项目过程中,就使用到这款编辑器,待项本地测试完全没问题后,将文件发布到服务器,却发现,该编辑器的上传图片功能不能使用,但系统默认的上传功能是没问题,这说明服务器该开的权限都开了。我们在网上搜了一下各种各样的解决方案,什么权限没开等各式各样说法,这些可能是针对该编辑器历史版本解决方案,但对于1.4.3版本来说,完全没有任何作用。
网上始终找不到任何有效解决方案,项目我们已经全部结束,只有这个编辑器小BUG,也不愿意把这么优秀的编辑器换掉,所以我们就硬着头皮来解决这个骨头,解决好之后,后面每个bv1946伟德娱乐项目都可以使用到这么优秀的编辑器,何乐不为呢?
下面上海bv1946伟德娱乐公司为你重点讲述下这个BUG的原因及解决方案?
归根结底还是路径没弄懂所导致的,IIS服务器中匿名账号可以磁盘上的非用户目录,这就是为什么本地测试成功,传到服务器或者空间不能用的原因了。
找到原因后,我们针对这个问题进行解决,打开Uploader.Class.asp找到CheckOrCreatePath函数,路径不需要我们说了吧
savePath = Server.MapPath(rsFilePath)
CheckOrCreatePath(  GetDirectoryName(savePath) )
stream.SaveToFile savePath
修改成:
savePath = rsFilePath
CheckOrCreatePath(  GetDirectoryName(savePath) )
stream.SaveToFile Server.MapPath(savePath)

修改CheckOrCreatePath函数:
原函数:
Private Function CheckOrCreatePath( ByVal path )        Set fs = Server.CreateObject("Scripting.FileSystemObject")        Dim parts        parts = Split( path, "\" )        path = ""        For Each part in parts            path = path + part + "\"            If fs.FolderExists( path ) = False Then                fs.CreateFolder( path )            End If        NextEnd Function

修改成:
Private Function CheckOrCreatePath( ByVal path )        Set fs = Server.CreateObject("Scripting.FileSystemObject")        Dim parts,root root  = "/"        parts = Split( path, "/" )        path = ""        For Each part in parts if trim(part) <> "" then path = path + part + "/" If fs.FolderExists( Server.MapPath(root & path) ) = False Then fs.CreateFolder( Server.MapPath(root & path) ) End If end if        NextEnd Function
将这代码COPY进去,绝对没有问题,我们已经将这更改的代码发布到我们实际bv1946伟德娱乐项目中了,如果不把这路径问题处理掉的话,那么你上传图片图片永远只能在本地运行,不能在服务器中运行了。

最新文章

热门文章