zoukankan      html  css  js  c++  java
  • 免费HTTP上传文件控件WebUploadFile.ocx发布,让实现Word在线编辑器变得容易

    原理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 ));
            }

        }

  • 相关阅读:
    Android_学习系列(33)--App应用之提交到各大市场渠道
    Android_TextView使用Spanable
    6 种CSS设置居中的方法
    如何设置Grunt
    C#中的Collection 3
    C#中的Collection 2
    C#中的Collection 1
    网页上的JS call Unity3d里的function——SendMessage
    关于WebPlayer Sandbox的小节
    完整Deploy WebPlayer的Config
  • 原文地址:https://www.cnblogs.com/zhwl/p/2763011.html
Copyright © 2011-2022 走看看