技术文档

我们在开发一些cms时,很想自动提取里面的图片地址保存到数据库中,并标记为图片新闻。在网上翻了一天,总算有了些收获。

小孔子在http://www.cnblogs.com/xkzi/archive/2007/04/28/730767.html中提到“只要找到fckeditor的上传函数就搞定了”,

并给出了一些提示“

在我提供的文件里找到fckconfig.js文件,打开看一下最后的函数:

FCKConfig.setUploadImg = function(_res){
    if(!_res) return;
     objDrop=parent.document.getElementById("upimgSelect");
     objText=parent.document.getElementById("txtUpImg");
    var nIndex =objDrop.selectedIndex;
    if(objDrop.options[0].value=="")objDrop.options[0]=null;
    var oLen=objDrop.length;
    if(oLen>0)
    {
     for(var i=0; i{
         if(objDrop.options[i].value==_res) return;
      }
}
objDrop.options[oLen]= new Option('Image'+[oLen+1], _res);
objDrop.selectedIndex =nIndex;
if(objText.value=="" || objText.value.length==0)objText.value=_res;
}

上面的"upimgSelect"是个下拉框,用于存放所有上传图片,"txtUpImg"是个文本框,用于显示选中的图片地址,也就是说你在编辑文章的页面里面要加这两个东西

可能是还需要配置其它文件吧,我用自己从官方网站下的编辑器包,按步骤操作就是没反应。不过在51aspx有源码可以下载,使用这个源码里面的编辑器就可以,不知道是为什么。

有人在网上提到使用

function FCKeditor_OnComplete( editorInstance )
{
} FCKeditor内置API函数。

自己也琢磨了下。

写了个测试程序。觉得还可以。

我的目录结构为:

/AJAXTest/admin/test.aspx
/AJAXTest/fckeditor/
/AJAXTest/fckeditor/fckconfig.js
/AJAXTest/fckeditor/fckeditor.js
/AJAXTest/UploadFile/

基本上就这样了。

web.config 配置


   
   

可能上面的并不是必须的,我们测试删去行不行。

test.aspx 文件内容

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="admin_test" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

http://www.w3.org/1999/xhtml" >

       FckeditorTest
       
       
   
   
       
           


               
                  
                选择图片
               
               
               

       
   


这个页面只是用了javascript来实现,没有使用test.aspx.cs编写后台代码。


这个页面基本上可以使用,唯一的缺憾就是,上面取得的img标签的src属性都是带前面的主机名,像http://localhost:2546/AJAXTest/UploadFile/image/Sf021.jpg这样,而不是想要的"AJAXTest/UploadFile/image/Sf021.jpg";可能通过正则表达式可以解决这个问题,可对它又不精。就先做到这里了,哪位解决了这个问题,还望赐教。多谢多谢!!!

分享新闻到:
经典SQL语句大全 全部新闻
 

Copyright © 2015 重庆猫扑网络科技有限公司