通过Fckeditor把图片上传到独立图片服务器的方法

  我大概思考了下有如下几种方法可以解决:

  1.在图片服务器上开通FTP,人为添加图片地址即可,但不方便,特别是在可视编辑器中看图还的多一部操作.

  2.在图片服务器上开通FTP,并提高IIS执行dosShell访问ftp,但是不安全.

  3.在图片服务器上开通IIS,WEB后台直接访问(还是存在在编辑器中不方便查看的问题,但可以用js控制上传后自动追加到HTML编辑窗口中)

  4.利用现有在线编辑器的上传程序来实现.

  第三,四种方法比较靠谱,但还需要解决跨域问题,第三种还要单独写程序,改动比较大,用第四种最理想.

  那么怎么样才能实现呢?我以前用的后台编辑器是dvbbs的后台编辑器,这次我改用FCKeditor,可我不是很熟悉,捣鼓了一天,终于试验成功了.方法如下:

  1.在图片服务器(img.jb51.net)和后台服务器(gl.cdbs.com.cn).上都安装FCKeditor.(实际上gl.cdbs.com.cn上只需要fckeditor.asp,因为asp不能include外网文件)

  2.在后台程序中设置sBasePath=http://img1.cdbs.com.cn/fckeditor/后,才建立编辑器).可以直接调用图片服务器的编辑器.

  复制代码 代码如下:

  <%

  Dim sBasePath

  sBasePath="http://img.jb51.net/fckeditor/"

  Dim oFCKeditor

  Set oFCKeditor = New FCKeditor

  oFCKeditor.BasePath = sBasePath

  oFCKeditor.Config("SkinPath") = sBasePath + "editor/skins/silver/" '设置皮肤

  'oFCKeditor.Width="80%"

  oFCKeditor.Height="400px"

  oFCKeditor.Value = ""

  oFCKeditor.Create "FCKeditor1"

  %>

  3.主要修改"img.jb51.net/FCKeidtor/fckconfig.js"文件

  复制代码 代码如下:

  var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py

  var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py

  4.修改"img.jb51.net/fckeditor/editor/filemanager/connectors/asp/config.asp"配置文件,

  ConfigIsEnabled = true '首先要开启配置.

  5.解决跨域访问.不过可以设置"document.domain='cdbs.com.cn';"来解决.域名完全不同也有相应的方法,

  6.还需要解决安全问题,这个可以通过跨站cookies来判断是否有权限上传(待完成).

  最终实现了,在后台编辑器中上传图片到相应的图片服务器,图片地址是相对地址,我们可以通过保存当前是哪组图片服务器来区分.例"新闻发布"等模块就可以这么做,但是对于其他模块如:图片展示模块,音乐专辑模块等,一个标题下就存在多个媒体文件,那么还是需要独立写程序来完成.那么又怎么实现了?

  您可能感兴趣的文章: