您的位置:首页 > 理论基础 > 计算机网络

免费HTTP上传文件控件WebUploadFile.ocx发布,让实现Word在线编辑器变得容易

2009-11-10 15:28 801 查看
原理winsock模拟表单上传数据,这样一般的上传接收组件都可以接收,如我们常用的 upload.asp,java的upload.do等

特点:

支持多文件带表单参数设定同时上传。

下载地址

http://www.vdisk.cn/down/index/3832662A5292/WebUploadFile.ocx.html

使用图

上图是配置服务器接收的请求,大家应该看得懂吧。

客户端ocx使用方法,如果在vb,vc等工程调用的话,可以象上图一样在属性页设置。

1)指定上传服务器各项参数,以下参数灵活设置

WebUpload.Host = "192.168.0.x"
WebUpload.Port = "8080"
WebUpload.Path = "/abc/upload"
2)上传指定文件(一个文件)

WebUpload.UploadAllFile "c:/3.jpg"

3)上传多文件
WebUpload.AppendUploadFile "c:/1.jpg","c:/1.jpg"
WebUpload.AppendUploadFile "c:/2.jpg","c:/2.jpg"
WebUpload.AppendUploadFile "c:/3.jpg","c:/3.jpg"

WebUpload.UploadAllFile

4)上传文件时同时带参数
WebUpload.AppendFormData "name", "张三"

WebUpload.AppendFormData "name2", "李四"

注册ocx后,html调用代码

<HTML><BODY><OBJECT classid="clsid:27A3B5CD-80DA-45F3-93F9-44C7DD631DF8"></OBJECT></BODY></HTML>

附:java接收的实现片断,asp等接收类似,因为就是表单上传和接收的模式,说白了就是现在你用的上传接收方式不用变化,直接用。

不懂写的上网搜索一下就有了。

import org.apache.commons.fileupload.DiskFileUpload;

......

DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节
fu.setSizeMax(fc.getFile_max_size());
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(fc.getFile_max_memory());
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath(FILE_TEMP_DIR);
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();

HashMap map = new HashMap();

while (iter.hasNext()) {
item = (FileItem)iter.next();
if (item.isFormField()) {
//处理表单域中其他不是文件域的信息
String fieldSubName = item.getFieldName();
map.put(fieldSubName,new String(item.getString("GBK")));
}//end if
}//end while

iter = fileItems.iterator();
while (iter.hasNext()) {
item = (FileItem)iter.next();

//忽略其他不是文件域的所有表单信息 tmp_ian = 文件分隔符
if (!item.isFormField()) {

String name = item.getName();

item.write(new File(FILE_DIR+tmp_ian+ name ));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: