本技术资料版权所有,禁止分发.©(2003-2007),重庆软航科技有限公司,保留所有权利.NTKO和软航是软航科技的商标

NTKO OFFICE文档控件技术资料

如何将ntko office控件中的文档和其附带数据提交回服务器?


创建时间:05/19/2008 04:11:24 PM 修改时间: 10/31/2011 05:34:42 PM
分类:BS开发-常见问题, BS开发-开发入门及架构, BS开发-开发技巧
适应版本号:4,0,1,X; 3,0,0,x

相关文档:本文档没有相关文档



1:ntko office文档控件如何保存文档到服务器?
    调用ntko office文档控件的SaveToUrl(url,filefieldname,cpara,filename,htmlform)方法即可把控件中打开的文档提交到url参数指向的服务器CGI程序或者页面(asp,jsp,servlet等).url负责处理文档控件提交的数据.
    由于控件采用了标准http协议提交数据,后台处理控件提交的数据跟处理表单提交的<input type=file>完全一样,服务器也不需要安装其它组件.

    SaveToUrl()方法的返回值就是url指向页面的执行完后整个页面的内容.如果后台url程序有错误,保存不成功.控件就会提示"文件传输错误",并且SaveToUrl()方法的返回值中就包含了错误信息,可以通过类似下面的代码查
    看错误信息,并对url页面进行排错(有时候其实后台程序并没有错误,只是访问服务器的用户没有修改服务器磁盘或者数据库的权限.):

    var resTTML = 控件对象.saveToUrl(url,..);
    alert(resTTML);

    另外,果在vs.net中,控件(如表单,按钮等)设置runat=server属性的问题。
    假设edit.aspx页面中有<form id='myform' action='uploadedit.aspx' runat=server>,当 控件对象.saveToUrl(document.forms["myfomr"].action,**其它参数**)提交的时候,uploadedit.aspx会验证提交数据出现数据验证错误.请在'uploadedit.aspx'页面的"<% @page" 属性中加上enableViewStateMac="False"就没有问题了.
2:如何提交文档的同时提交其它数据?
    通过对SaveToUrl(url,filefieldname,cpara,filename,htmlform)方法的cpara和htmlform参数赋值就可以想把一些与文档控件相关的其它数据传递到服务器.
    例如c#中,页面中有如下代码:
      <form id=myform enctype="multipart/form-data">
      <input type=text value="values" name="textfield">
      <input type=file name="filefiled">
      .............其它数据............
      </form>

      <object id=control_OBJ ..........>
      控件的引用代码
      </object>

      <script type=text/javascirpt>
      control_OBJ.savetourl("url","key1=1&key2=2&key3=3","myform");
      //cpara="key1=1&key2=2&key3=3";htmlform="myform"
      </script>

      后台处理代码:
      string key1 = request["key1"];
      string key2 = .................
      string textfield = request.pramaters("textfield ");
      ................................
      System.Web.HttpFileCollection uploadfiles=Request.Files;
      System.Web.HttpPostedFile thefile ;
      for(int i=0;i<uploadfiles.Count;i++)
      {
        if(uploadfiles.GetKey(i).ToUpper()=="filefiled")
        {
          thefile = uploadfiles[i];
        }
      }
      ................................

    就可以得到:key1="1",key2="2",textfield ="values",
    并且可以通过thefile.saveas()方法将表单中的附件保存起来.

    您可以查看<<ntko office文档控件开发接口参考>>了解cpara以及htmlform的具体使用方法.

返回页面顶部↑  
本文档的相关文档:
本文档没有相关文档