文件保存到服务器原理(HTTP)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件保存到服务器原理(HTTP)
DSO控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。
1. 原理
因为Web页面上的DSO打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。
2. 主要上传接口:
●HttpInit();
该方法用于初始化上传接口,不需要设置参数
●HttpAddPostString(String FieldName, String someV alue);
添加要提交的表单域, FieldName是要上传表单域名称,someV alue是表单域值
例一:
HttpAddPostString("username", "zhangSan");
它类似域表单域的
例二:
HttpAddPostString("username", ername.value);
….
注意:如果使用上传接口,那么form表单里的表单域不会被提交到处理页面。需
要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。
例二使用了“ername.value”获取表单域值。
●HttpAddPostCurrFile(String fileName, String ReName);
添加当前DSO编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,
并提交到处理页面。
例一:
HttpAddPostCurrFile("File", "");
该接口模拟表单文件域如下:
注意:第二个参数为空表示控件自动为文件命名,如:temp.doc,如果需要重命名
可以在第二个参数指明文件名称,也可在保存页面指定文件名称。
HttpPost(String url);
执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返
回的执行结果(是否成功,可以根据这个结果来获取服务器端执行的结果)。
url支持绝对路径和相对路径。
绝对路径,例如:http://192.168.0.1/savedoc.asp
相对路径要以“./”或者“../”开头。例如:./savedoc.asp
3. 完整的上传接口演示
function SaveDoc() {
var returnV alue; // 保存页面的返回值
document.all.DSO1.HttpInit(); // 初始化Http引擎
// 添加相应的Post元素
document.all.DSO1.HttpAddPostString("username", WebForm. username.value);
// 添加上传文件
document.all.DSO1.HttpAddPostCurrFile("File ","");
// 提交上传文件
returnV alue = document.all.DSO1.HttpPost("../saveDoc.jsp");
if("true" == returnV alue){
alert("文件上传成功");
} else {
alert("文件上传失败")
}
}
4. 关于保存
DSO上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,具体代码参考附件(asp和jsp的实现)。