zoukankan      html  css  js  c++  java
  • DSOFramer原有的接口说明

    (转自:http://blog.csdn.net/hwbox/article/details/5669414)

    DSOFramer原有的接口说明

    ===================================================================
    DSOFramer原有的接口说明
    1.void CreateNew(BSTR ProgIdOrTemplate)
      新建文档,
      其中: ProgIdOrTemplate参数:
    Excel Spreadsheet     "Excel.Sheet" 
    Excel Chart        "Excel.Chart" 
    PowerPoint Presentation  "PowerPoint.Show" 
    Project Project      "MSProject.Project" 
    Visio Drawing       "Visio.Drawing" 
    Word Document       "Word.Document" 
    2.  HRESULT Open([in] VARIANT Document, [in, optional] VARIANT ReadOnly, 
    [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword)
        打开文档,可以是本地文件或者是服务器文件
    参数:
    Document  文档路径
    ReadOnly  是否已只读模式打开
    ProgId    OLE类型
    WebUsername  用户名(访问网络的文件时候,有可能需要)
    WebPassword  密码
    例子:
    DsoFramer1.Open "C:/TestBook.xls"
    DsoFramer1.Open "C:/Plain.txt", , "Word.Document"  //用Word来打开c:/plain.txt文件
    DsoFramer1.Open "https://secureserver/test/mytest.asp?id=123", True, "Excel.Sheet", "MyUserAccount", "MyPassword"

    3.HRESULT Save([in, optional] VARIANT SaveAsDocument, [in, optional] VARIANT OverwriteExisting, 
                    [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);
    保存文件在本地
    DsoFramer1.Save "c:/1.doc"

    4.Activate
    激活当前文档,没搞明白有什么用
    5.  HRESULT ActiveDocument([out,retval] IDispatch** ppdisp);
    返回当前活动文档的Dispatch接口,这个接口很重要,可以通过这个接口,操作所有的文档接口。
    如:下面 javascript 语句调用Office内置的对话框
    var obj;
    obj = new Object(document.all.FramerControl1.ActiveDocument);
    if(obj !=null){
    var dd;
    dd = obj.Application.Dialogs(84).Show();
    //... ... 
    //delete it
    delete obj;
    }
    6.  HRESULT Close();
    关闭当前文档,建议在页面关闭的时候调用。
    MS的原来的版本,有时候关不掉Word,已经修复了。
    7.  HRESULT Caption([out,retval] BSTR* pbstr);
    属性,获取|设置窗口标题
    8.  HRESULT Titlebar([in] boolean vbool);
       HRESULT Titlebar([out,retval] boolean* pbool);
       显示或者隐藏标题栏
    9. HRESULT Toolbars([in] boolean vbool);
      HRESULT Toolbars([out,retval] boolean* pbool);
       显示或者隐藏工具栏
    10.  HRESULT ModalState([in] boolean vbool);
       HRESULT ModalState([out,retval] boolean* pbool);

    11.HRESULT ShowDialog([in] dsoShowDialogType DlgType);
      显示对话框
    12.HRESULT EnableFileCommand([in] dsoFileCommandType Item, [in] boolean vbool);
      HRESULT EnableFileCommand([in] dsoFileCommandType Item, [out,retval] boolean* pbool);


    13.  HRESULT BorderStyle([in] dsoBorderStyle style);
      HRESULT BorderStyle([out, retval] dsoBorderStyle* pstyle);

    14.  HRESULT BorderColor([in] OLE_COLOR clr);
      HRESULT BorderColor([out,retval] OLE_COLOR* pclr);

    15. HRESULT BackColor([in] OLE_COLOR clr);
      HRESULT BackColor([out,retval] OLE_COLOR* pclr);

    16.HRESULT ForeColor([in]OLE_COLOR clr);
      HRESULT ForeColor([out,retval]OLE_COLOR* pclr);

    17.HRESULT TitlebarColor([in] OLE_COLOR clr);
    HRESULT TitlebarColor([out,retval] OLE_COLOR* pclr);

    18.HRESULT TitlebarTextColor([in] OLE_COLOR clr);
       HRESULT TitlebarTextColor([out,retval] OLE_COLOR* pclr);

    19.HRESULT ExecOleCommand([in] LONG OLECMDID, [in, optional] VARIANT Options, [in, optional] VARIANT* vInParam, [in, out, optional] VARIANT* vInOutParam);

    20.HRESULT Menubar([in] boolean vbool);
      HRESULT Menubar([out,retval] boolean* pbool);
    21.HRESULT HostName([in] BSTR bstr);
      HRESULT HostName([out,retval] BSTR* pbstr);
      
    22. HRESULT DocumentFullName([out,retval] BSTR* pbstr);
       文档的路径
    23.HRESULT PrintOut([in, optional] VARIANT PromptUser, [in, optional] VARIANT PrinterName, [in, optional] VARIANT Copies,
        [in, optional] VARIANT FromPage, [in, optional] VARIANT ToPage, [in, optional] VARIANT OutputFile);
    24.HRESULT PrintPreview();
       
    25.HRESULT PrintPreviewExit();
    26.HRESULT IsReadOnly([out,retval] boolean* pbool);
       是否为只读的。
    27.HRESULT IsDirty([out,retval] boolean* pbool);
       是否保存了,实际可以用来判读文档有没有修改
       oframer.IsDirty = TRUE //文档没有保存,处于修改状态
        oframer.IsDirty = FALSE //文档已经保存,没有修改

    新加的接口说明(开发接口)
    [color=red][b]当前版本:V2.2.0.8   2007-02-07[/b]
    [/color]下载控件需要登录
    说明:
    控件未经大批量测试,难免有Bug,
    发现 Bug,请及时发帖或者Mail:wanhhf@gmail.com
    版本修改记录:
    V2.2.0.8修改:
                    增加了N多个事件,挺不错的东西
                    [id(DSOF_DISPID_WORD_DocumentChange), helpstring("DSOF_DISPID_WORD_DocumentChange")]
                    HRESULT WORD_DocumentChange();
                    [id(DSOF_DISPID_WORD_DocumentBeforePrint), helpstring("DSOF_DISPID_WORD_DocumentBeforePrint")]
                    HRESULT WORD_DocumentBeforePrint();
                    [id(DSOF_DISPID_WORD_WindowActivate), helpstring("DSOF_DISPID_WORD_WindowActivate")]
                    HRESULT WORD_WindowActivate();
                    [id(DSOF_DISPID_WORD_WindowSelectionChange), helpstring("DSOF_DISPID_WORD_WindowSelectionChange")]
                    HRESULT WORD_WindowSelectionChange();
                    [id(DSOF_DISPID_WORD_WindowBeforeRightClick), helpstring("DSOF_DISPID_WORD_WindowBeforeRightClick")]
                    HRESULT WORD_WindowBeforeRightClick();
                    [id(DSOF_DISPID_WORD_WindowBeforeDoubleClick), helpstring("DSOF_DISPID_WORD_WindowBeforeDoubleClick")]
                    HRESULT WORD_WindowBeforeDoubleClick();
    V2.2.0.6修改: 
                    修改Open,参数为空时候,一个小 Bug
                    修改了URL过长时候一个Bug
                    增加了一个替换文字的接口
                    long ReplaceText(BSTR strSearchText, BSTR strReplaceText,  long lGradation);
    V2.2.0.2修改:
                    修改了HttpPost相对路径的一些问题。    
    V2.2.0.0增加:
                    [id(0x00010041), helpstring("Get Rev Index")]
                    HRESULT GetRevCount( [out,retval] long * pbool);
                    [id(0x00010042), helpstring("Get Rev Index Info")]
                    HRESULT GetRevInfo([in] long lIndex, [in]  long lType, [out,retval] BSTR* pbool);
                    [id(0x00010043), helpstring("Set Doc Prop")]
                    HRESULT SetValue([in] BSTR strValue, [in]  BSTR strName, [out,retval] long* pbool);
                    [id(0x00010044), helpstring("Set Doc Variable")]
                    HRESULT SetDocVariable([in] BSTR strVarName, [in]  BSTR strValue,[in] long lOpt, [out,retval] long* pbool);
                    [id(0x00010045), helpstring("Save page To Doc")]
                    HRESULT SetPageAs([in] BSTR strLocalFile, [in]  long lPageNum, [in]  long lType,[out,retval] long* pbool);
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
    LoadDso.js
    var s = ""
    s += "<OBJECT id=DSOFramer align='middle' style='LEFT: 0px; WIDTH: 100%; TOP: 0px; HEIGHT: 100%'"
    s += "classid=clsid:00460182-9E5E-11D5-B7C8-B8269041DD57 codeBase=DSOFramer.ocx#Version=2,2,0,6' >"
    s += "</OBJECT>"
    document.write(s) 
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
    接口文档:
    /*
    1.新建
    */
    //新建Word
    document.all.FramerControl1.CreateNew("Word.Document");
    //新建Excel
    document.all.FramerControl1.CreateNew("Excel.Sheet");
    /*
    2.打开文件
    */
    //打开制定的本地文件
    document.all.FramerControl1.Open("C://TestBook.xls");
    //制定用Word来打开c:/plain.txt文件
    document.all.FramerControl1.Open("C://Plain.txt",false, "Word.Document");
    //打开服务器的文件 
    document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword");
    //打开服务器的文件 
    document.all.FramerControl1.Open("http://localhost/1.doc", true);

    /*
    3.保存文件
    */
    //到本地
    document.all.FramerControl1.Save("c://1.doc",true);
    //服务器   
    /*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据
    bool HttpInit();
    bool HttpAddPostString(BSTR strName, BSTR strValue);
    bool HttpAddPostCurrFile(BSTR strFileID, BSTR strFileName);
    BSTR HttpPost(BSTR bstr);        
    */
    //初始化Http引擎
    document.all.FramerControl1.HttpInit();
    //增加Post变量
    document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");
    document.all.FramerControl1.HttpAddPostString("UserID","李局长");
    //上传打开的文件
    document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文档名.doc");
    //执行上传动作
    document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp"); 
    /*
    4.修订留痕
    */
    //进入留痕状态
    document.all.FramerControl1.SetTrackRevisions(1);
    //进入非留痕状态
    document.all.FramerControl1.SetTrackRevisions(0);
    //接受当前修订
    document.all.FramerControl1.SetTrackRevisions(4);
    /*
    5.设置当前用户
    */
    document.all.FramerControl1.SetCurrUserName("张三");        
    /*
    6.设置当前时间(笔迹留痕会显示("Like 2006:02:07 11:11:11")
    */
    document.all.FramerControl1.SetCurrTime("2006:02:07 11:11:11");
    /*
    7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了
    SetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strCmdOrSheetName)
    strFieldName:书签名
    strValue:要设置的值
    strCmdOrSheetName:
    命令 
    ::ADDMARK::    添加BookMark
    ::DELMARK::          删除这个BookMark
    ::GETMARK::    定位到这个BookMark
    ::FILE::                         插入的是文件
    ::JPG::        插入的是图片
    一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。
    */
    //在当前WORD位置插入标签,标签名为"book1",数值为"test"
    document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::");
    //设置书签"Time",数值为"2006-03-16 22:22:22"
    document.all.FramerControl1.SetFieldValue("Time","2006-03-16 22:22:22","");
    //在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc" 这样,红头就自动插进去了
    document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::");
    /*
    8.设置菜单显示情况
    BOOL SetMenuDisplay(long lMenuFlag)
    lMenuFlag为以下数值的组合
    #define MNU_NEW                         0x01
    #define MNU_OPEN                        0x02
    #define MNU_CLOSE                       0x04
    #define MNU_SAVE                        0x08
    #define MNU_SAVEAS                      0x16
    #define MNU_PGSETUP                     0x64
    #define MNU_PRINT                       0x256
    #define MNU_PROPS                       0x32
    #define MNU_PRINTPV                     0x126
    */
    //只有“新建”菜单可用 
    document.all.FramerControl1..SetMenuDisplay(1);
    //只有“打开”菜单可用 
    document.all.FramerControl1.SetMenuDisplay(2);
    //只有“打开”和“新建”菜单可用 
    document.all.FramerControl1.SetMenuDisplay(3);
    /*
    9.保护文档和解保护文档
    lProOrUn:1:保护文档;0:解除保护
    lProType:  
        wdNoProtection = -1,
        wdAllowOnlyRevisions = 0,
        wdAllowOnlyComments = 1,
        wdAllowOnlyFormFields = 2
    strProPWD:密码
    */
    //完全保护文档,密码为"pwd"    
    document.all.FramerControl1.ProtectDoc(1,1,"pwd");
    //解除文档保护                 
    document.all.FramerControl1.ProtectDoc(0,1,"pwd");
    /*
    10.显示或隐藏修订内容
    ShowRevisions(long nNewValue)
    nNewValue = 0 则隐藏修订
              = 1 则显示修订
    */
    //显示修订留痕
    document.all.FramerControl1.ShowRevisions(1);
    //隐藏修订留痕
    document.all.FramerControl1.ShowRevisions(0);
    /*
    11.插入合并文件,
    strFieldPath 文件路径,可以是http,ftp的路径
    pPos = 0 //当前鼠标位置
    1;文件开头
    2;文件末尾
    pPos的第4位为1的时候,代表插入的是图片
    InSertFile(BSTR strFieldPath, long lPos)
    */
    //文件头部插入文件
    document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1);
    //文件尾部插入文件 
    document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2);
    //当前光标位置插入文件
    document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0);
    //文件头部插入图片
    document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9);
    //文件尾部插入图片
    document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10);
    //当前光标位置插入图片
    document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8);
    /*
    0x31. 文档另存为
                    HRESULT SaveAs([in] VARIANT strFileName, [in] VARIANT dwFileFormat, [out,retval] long* pbool);        
    参数:
            strFileName:文件本地路径,如c://11.doc
            dwFileFormat: 文件格式
    dwFileFormat的数值为:
    Excel: Type
    enum XlFileFormat
    {
        xlAddIn = 18,
        xlCSV = 6,
        xlCSVMac = 22,
        xlCSVMSDOS = 24,
        xlCSVWindows = 23,
        xlDBF2 = 7,
        xlDBF3 = 8,
        xlDBF4 = 11,
        xlDIF = 9,
        xlExcel2 = 16,
        xlExcel2FarEast = 27,
        xlExcel3 = 29,
        xlExcel4 = 33,
        xlExcel5 = 39,
        xlExcel7 = 39,
        xlExcel9795 = 43,
        xlExcel4Workbook = 35,
        xlIntlAddIn = 26,
        xlIntlMacro = 25,
        xlWorkbookNormal = -4143,
        xlSYLK = 2,
        xlTemplate = 17,
        xlCurrentPlatformText = -4158,
        xlTextMac = 19,
        xlTextMSDOS = 21,
        xlTextPrinter = 36,
        xlTextWindows = 20,
        xlWJ2WD1 = 14,
        xlWK1 = 5,
        xlWK1ALL = 31,
        xlWK1FMT = 30,
        xlWK3 = 15,
        xlWK4 = 38,
        xlWK3FM3 = 32,
        xlWKS = 4,
        xlWorks2FarEast = 28,
        xlWQ1 = 34,
        xlWJ3 = 40,
        xlWJ3FJ3 = 41,
        xlUnicodeText = 42,
        xlHtml = 44
    };
    Word: Type
    enum WdSaveFormat
    {
        wdFormatDocument = 0,
        wdFormatTemplate = 1,
        wdFormatText = 2,
        wdFormatTextLineBreaks = 3,
        wdFormatDOSText = 4,
        wdFormatDOSTextLineBreaks = 5,
        wdFormatRTF = 6,
        wdFormatUnicodeText = 7,
        wdFormatEncodedText = 7,
        wdFormatHTML = 8
    };
    PPT:
    enum PpSaveAsFileType
    {
        ppSaveAsPresentation = 1,
        ppSaveAsPowerPoint7 = 2,
        ppSaveAsPowerPoint4 = 3,
        ppSaveAsPowerPoint3 = 4,
        ppSaveAsTemplate = 5,
        ppSaveAsRTF = 6,
        ppSaveAsShow = 7,
        ppSaveAsAddIn = 8,
        ppSaveAsPowerPoint4FarEast = 10,
        ppSaveAsDefault = 11,
        ppSaveAsHTML = 12,
        ppSaveAsHTMLv3 = 13,
        ppSaveAsHTMLDual = 14,
        ppSaveAsMetaFile = 15,
        ppSaveAsGIF = 16,
        ppSaveAsJPG = 17,
        ppSaveAsPNG = 18,
        ppSaveAsBMP = 19
    };
      
    */
    /*
    0x32. 删除本地文件
                            HRESULT DeleteLocalFile([in] BSTR strFilePath);        
    参数:
            strFileName:文件本地路径,如c://11.doc                        
    */                
    /*
    0x33.创建临时文件
                    HRESULT GetTempFilePath([out,retval] BSTR* strValue);        
    返回:
        临时文件的路径地址。使用完后,用DeleteLocalFile 删除

    */

    /*
    0x34.设置文档显示模式
                    HRESULT ShowView([in] long dwViewType, [out,retval] long * pbool);        
    dwViewType的可取值为:
    enum WdViewType
    {
        wdNormalView = 1,
        wdOutlineView = 2,
        wdPrintView = 3,
        wdPrintPreview = 4,
        wdMasterView = 5, //这个是大纲
        wdWebView = 6
    };
    */ 
    //大纲模式
    document.all.FramerControl1.ShowView(5);



    /*
    0x39:下载远程文件
                    HRESULT DownloadFile( [in] BSTR strRemoteFile, [in] BSTR strLocalFile, [out,retval]  BSTR* strValue);        
    参数:
             strRemoteFile:远程路径地址,http or Ftp
             strLocalFile: 本地保存地址,if strLocalFile == NULL then Create Temp File and return TempFile's Path

    */

    /*
    0x40:增加Http上传时候的,附加其他文件
                    HRESULT HttpAddPostFile([in] BSTR strFileID, [in]  BSTR strFileName, [out,retval] long* pbool);
    参数:
             strFileID:文件的ID,供服务器端页面解析
             strFileName: 本地文件地址 
    */


    /*
    0x41,0x42.获取详细的修订信息。
       GetRevCount( [out,retval] long * pbool);
       GetRevInfo([in] long lIndex, [in]  long lType, [out,retval] BSTR* pbool);
       例子如下
    */
    var vCount;
    vCount = document.all.FramerControl1.GetRevCount();
    alert(vCount);
    var vOpt = 0;
    var vDate;
    for(var i=1; i<= vCount; i++){
            vOpt = document.all.FramerControl1.GetRevInfo(i,2);
            if("1" == vOpt){
                    vOpt = "插入";
            }else if("2" == vOpt){
                    vOpt = "删除";
            }else{
                    vOpt = "未知操作";
            }
            vDate = new String(document.all.FramerControl1.GetRevInfo(i,1));
            vDate = parseFloat(vDate);
            alert(vDate);
            dateObj = new Date(vDate);
      alert(dateObj.getYear()   + "年" + dateObj.getMonth() + 1 + "月" + dateObj.getDate() +"日" +  dateObj.getHours() +"时" +  dateObj.getMinutes() +"分" +  dateObj.getSeconds() +"秒" );
            alert("用户:"+document.all.FramerControl1.GetRevInfo(i,0) + "/r/n操作:" + vOpt + "/r/n内容:" + document.all.FramerControl1.GetRevInfo(i,3));
    }
    /*
    0x43.设置基本信息:
                    HRESULT SetValue([in] BSTR strValue, [in]  BSTR strName, [out,retval] long* pbool);
    1.设置文件只读密码
            SetValue("password","::DOCPROP:PassWord");
    2.设置文件修改密码
            SetValue("password","::DOCPROP:WritePW");
    返回值:
    0 正确
    -1:不支持此命令,请确定您的第二个参数没有传错
    -127:异常
    */
    //设置文件只读密码
    document.all.FramerControl1.SetValue("password","::DOCPROP:PassWord");
    //设置文件修改密码
    document.all.FramerControl1.SetValue("password","::DOCPROP:WritePW");
    /*
    0x44.设置文档变量,这个很少能用到
                    HRESULT SetDocVariable([in] BSTR strVarName, [in]  BSTR strValue,[in] long lOpt, [out,retval] long* pbool);
    strVarName: 变量名
    strVlaue:变量值
    lOpt: 操作类型,
    按位
    第一位为1:  表示update域关联的
    第二位为1:  表示如果没有这个变量则添加
    第三位为1:  未来支持
    return:
    0:OK
    -127:异常
    */
    /*
    0x45: 分页保存
    HRESULT SetPageAs([in] BSTR strLocalFile, [in]  long lPageNum, [in]  long lType,[out,retval] long* pbool);
    strLocalFile:本地路径
    lPageNum:页数
    */

    DSO上传服务器原理

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Dsoframer1控件采用文件Http上传接口实现文件和表单域的上传保存。
    1. 原理
    因为Web页面上的Dsoframer1打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域<input type=file …>,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。
    2. 主要上传接口:
    HttpInit();
    该方法用于初始化上传接口,不需要设置参数
    HttpAddPostString(String FieldName, String someValue);
    添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值
    例一:
    HttpAddPostString("username", "zhangSan");
    它类似域表单域的
    <input type=text name=username value=zhangSan>
      例二:
       HttpAddPostString("username", WebForm.username.value);
       ….
       <form name= WebForm >
    <input type=text name=username value=zhangSan>
       </form>
    注意:如果使用上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。
    HttpAddPostCurrFile(String fileName, String ReName);
    添加当前Dsoframer1编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。
    例一:
    HttpAddPostCurrFile("File", "");
    该接口模拟表单文件域如下:
    <input type=file name=File >
    注意:第二个参数为空表示控件自动为文件命名,如:temp.doc,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。
    HttpPost(String url);
    执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。
    url支持绝对路径和相对路径。
    绝对路径,例如:[url=http://192.168.0.1/savedoc.asp]http://192.168.0.1/savedoc.asp[/url]
    相对路径要以“./”或者“../”开头。例如:./savedoc.asp
    3. 完整的上传接口演示
    function SaveDoc() {
    var returnValue;     // 保存页面的返回值
    document.all.Dsoframer11.HttpInit(); // 初始化Http引擎
    // 添加相应的Post元素 
    document.all.Dsoframer11.HttpAddPostString("username", WebForm. username.value);
    // 添加上传文件
    document.all.Dsoframer11.HttpAddPostCurrFile("File ",""); 
    // 提交上传文件
    returnValue = document.all.Dsoframer11.HttpPost("../saveDoc.jsp");
    if("true" == returnValue){
      alert("文件上传成功"); 
    } else  {
      alert("文件上传失败")
    }

    4. 关于保存
    Dsoframer1上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了.
    服务器段接受数据的具体代码? 呵呵。这个就不用多介绍了吧,应该都知道。 下面,请跟贴者补充。
    -------------------------------------------------------------------------------------------------------------------------------------------------
    ASP:
         **
    JSP:
         **
    .Net:
         **
    Louts:
         **
    PHP:
        **

  • 相关阅读:
    微信公众平台消息接口开发之校验签名与消息响应合并
    微信公众平台开发之在网页上添加分享到朋友圈,关注微信号等按钮
    微信公众平台自定义菜单PHP开发
    所有边权均不相同的无向图最小生成树是唯一的证明
    无向带权图的最小生成树算法——Prim及Kruskal算法思路
    排序二叉树,平衡二叉树和红黑树的概念以及相关的操作讲解
    B树、B-树、B+树、B*树
    森林、树与二叉树相互转换
    普通树转换成二叉树
    哈夫曼树
  • 原文地址:https://www.cnblogs.com/FindSelf/p/4371134.html
Copyright © 2011-2022 走看看