如何通过Fckeditor把图片上传到独立图片服务器

   大部分网站的后台,都是把图片上传到本地服务器上,但图片也消耗很多带宽,门户网站都有单独的图片服务器,怎么实现呢?我大概思考了下有如下几种方法可以解决:

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

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

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

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

 

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

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

 

  1.在图片服务器(img1.f.cdbs.com.cn)和后台服务器(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://img1.f.cdbs.com.cn/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.主要修改"img1.f.cdbs.com.cn/FCKeidtor/fckconfig.js"文件

 

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

  4.修改"img1.f.cdbs.com.cn/fckeditor/editor/filemanager/connectors/asp/config.asp"配置文件,

 

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

 

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

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

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

你可能感兴趣的:(心情,心得)