WebOffice-开发文档 下载本文

四、FAQ

4.1 如何把文件直接上传到服务器

WebOffice通过Http协议实现文件直接上传到服务器,原理见附件一《WebOffice文件Http上传原理》

五、附录

5.1 WebOffice文件Http上传原理

WebOffice文件Http上传原理分析 WebOffice控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注: WebOffice的上传接口和AIP是一致的。 原理 因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。 主要上传接口: ? HttpInit(); 该方法用于初始化上传接口,不需要设置参数 ? HttpAddPostString(String FieldName, String someValue); 添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值 例一: HttpAddPostString(\它类似域表单域的 例二: HttpAddPostString(\ ….

注意:如果使用上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。 ? HttpAddPostCurrFile(String fileName, String ReName); 添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。 例一: HttpAddPostCurrFile(\该接口模拟表单文件域如下:

注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。 ? HttpPost(String url); 执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。 url支持绝对路径和相对路径。 绝对路径,例如:http://192.168.0.1/savedoc.asp 相对路径要以“./”或者“../”开头。例如:./savedoc.asp 完整的上传接口演示 function SaveDoc() { var returnValue; // 保存页面的返回值 document.all.WebOffice1.HttpInit(); // 初始化Http引擎 // 添加相应的Post元素 } document.all.WebOffice1.HttpAddPostString(\// 添加上传文件 document.all.WebOffice1.HttpAddPostCurrFile(\// 提交上传文件 returnValue = document.all.WebOffice1.HttpPost(\if(\ } alert(\文件上传成功\alert(\文件上传失败\ } else { 关于保存 WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,具体代码参考附件(asp和jsp的实现)。