我大概思考了下有如下幾種方法可以解決:
1.在圖片服務器上開通FTP,人為添加圖片地址即可,但不方便,特別是在可視編輯器中看圖還的多一部操作.
2.在圖片服務器上開通FTP,并提高IIS執行dosShell訪問ftp,但是不安全.
3.在圖片服務器上開通IIS,WEB后臺直接訪問(還是存在在編輯器中不方便查看的問題,但可以用js控制上傳后自動追加到HTML編輯窗口中)
4.利用現有在線編輯器的上傳程序來實現.
第三,四種方法比較靠譜,但還需要解決跨域問題,第三種還要單獨寫程序,改動比較大,用第四種最理想.
那么怎么樣才能實現呢?我以前用的后臺編輯器是dvbbs的后臺編輯器,這次我改用FCKeditor,可我不是很熟悉,搗鼓了一天,終于試驗成功了.方法如下:
1.在圖片服務器(img.VeVb.com)和后臺服務器(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.VeVb.com/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.VeVb.com/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.VeVb.com/fckeditor/editor/filemanager/connectors/asp/config.asp"配置文件,
ConfigIsEnabled = true '首先要開啟配置.
5.解決跨域訪問.不過可以設置"document.domain='cdbs.com.cn';"來解決.域名完全不同也有相應的方法,
6.還需要解決安全問題,這個可以通過跨站cookies來判斷是否有權限上傳(待完成).
最終實現了,在后臺編輯器中上傳圖片到相應的圖片服務器,圖片地址是相對地址,我們可以通過保存當前是哪組圖片服務器來區分.例"新聞發布"等模塊就可以這么做,但是對于其他模塊如:圖片展示模塊,音樂專輯模塊等,一個標題下就存在多個媒體文件,那么還是需要獨立寫程序來完成.那么又怎么實現了?