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基本的语法以及和Java的差别
    Linux 性能測试工具
    【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
    【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
    【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
    Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
  • 原文地址:https://www.cnblogs.com/FindSelf/p/4371134.html
Copyright © 2011-2022 走看看