版权所有 2009-2016 荆门泽优软件有限公司

保留所有权利

官方网站:http://www.ncmem.com/

产品首页:http://www.ncmem.com/webplug/http-uploader2/index.asp

在线演示:http://www.ncmem.com/products/http-uploader2/index.asp,

开发文档:asp,jsp,php,asp.net,

升级日志:http://www.cnblogs.com/xproer/archive/2011/03/15/1985091.html

资源下载:cab安装包(x86),cab安装包(x64),crx安装包,crx(nat)安装包,xpi安装包,exe安装包,开发文档,VC运行库,证书补丁,

示例下载:ASP示例,ASP.NET示例,JSP示例,PHP示例,

联系信箱:1085617561@qq.com

联系QQ:1085617561

更新记录:

 

更新时间

描述

2012-05-29

更新JSP文件上传示例代码。

2012-08-30

增加创建文件夹和删除文件示例代码。

2012-09-10

增加验证本地文件是否存在的示例代码,更新创建文件夹示例代码。

2014-03-18

完善正式包布署章节

增加在本地运行DEMO章节

增加在测试服务器中运行DEMO章节

删除测试包布署说明章节。

新增ASP测试章节。

 

1.      在本地运行DEMO

1.1. ASP

1.在IIS中新建站点

 

2.修改上传地址

 

2.      在测试服务器中运行DEMO

说明:如果客户端能够正常访问互联网,则不用在测试服务器中布署控件包。

步骤如下:

1.将控件包(HttpUploader.cab,HttpUploader64.cab)布署在测试服务器中

     HttpUploader.cab为IE(x86)浏览器控件安装包。

     HttpUploader64.cab为IE(x64)浏览器控件安装包。

2.修改up2.js中的控件包地址。

 

3.将上传地址改为测试服务器的上传地址。

 

3.      正式包布署说明

说明:在购买后我们会以邮件方式提供控件包文件。

1.将HttpUploader.cab,HttpUploader64.cab,HttpUploader2.xpi,HttpUploader2.crx,HttpUploader2.exe上传到正式服务器中。

     HttpUploader.cab为IE(x86)浏览器控件安装包。

     HttpUploader64.cab为IE(x64)浏览器控件安装包。

     HttpUploader2.xpi为Firefox浏览器控件安装包。

     HttpUploader2.crx为Chrome浏览器控件安装包。

     HttpUploader2.exe为控件集成安装包。

2.修改up2.js文件中的配置信息。

 

3.1. 修改版本号

 

3.2. 修改IE32控件Clsid值

 

3.3. 修改IE32控件cab包地址

 

3.4. 修改IE64控件clsid值

 

3.5. 修改IE64控件cab包地址

 

3.6. 修改IE32,IE64控件ProjID信息

 

3.7. 修改Firefox控件XpiType值

 

3.8. 修改Firefox控件xpi包地址

 

3.9. 修改chrome控件CrxType和CrxName值

 

3.10. 修改Chrome控件crx包地址

 

3.11. 修改exe包地址

 

 

4.      整合到现有系统中

主要步骤:

1.上传js文件夹,控件包

2.在引用页面添加js引用

3.在引用页面编写控件初始化代码,并设置上传地址。

 

1.上传js文件夹

 

2.在引用页面添加js引用

 

3.编写控件初始化代码

 

5.      自动拼接路径

如果域名会经常变动不是固定域名,可以使用自动拼接路径函数InitPath()来简化控件布署。InitPath()函数的主要作用就是帮助开发人员拼接字符串。开发人员也可以根据自已的业务逻辑情况来修改此函数。

以下示例演示如何使用自动拼接路径

修改HttpUploader.js中的路径

     :在引用页面设置上传地址

 

方法2:在up2.js中设置上传地址。

 

注意:如果同时在引用页面和up2.js中配置了上传地址,那么引用页面的设置将会覆盖up2.js中的设置,即只有引用页面的设置有效。

 

7.2. 设置服务器编码方式

<script type="text/javascript" language="javascript">

var fileMgr = new HttpUploaderMgr();

fileMgr.Config["EncodeType"] = "GB2312";//设置上传编码。必须与网站配置相同。建议在HttpUploader.js中设置,这样可以在多个页面引用,而不需要再次设置。

 

$(document).ready(function ()

{

     fileMgr.Load();

});

</script>

  

7.3. 设置文件类型

<script type="text/javascript" language="javascript">

var fileMgr = new HttpUploaderMgr();

//设置允许上传的文件类型,使用英文逗号分(,)隔。如果允许所有的文件类型,则使用*

fileMgr.Config["FileFilter"] = "jpg,png,bmp,gif,doc,pdf,txt";

 

$(document).ready(function ()

{

     fileMgr.Load();

});

</script>

 

 

7.4. 设置附加信息

附加信息的作用就是在上传图片的同时向服务器提交额外的字段信息。比如当用户向服务器上传截图时,服务器需要知道是哪位用户上传的截图,这时可以将用户ID添加到附加信息中,这样服务器在获取截图信息的同时也能够根据附加信息知道是哪位用户上传的截图。

客户端:

fileMgr.Fields["UserName"] = "test";

服务端:

string fname = Request.Form["UserName"];

 

开发人员可以根据自已的业务需求来扩展附加信息:

客户端:

fileMgr.Fields["f1"] = "f1";

fileMgr.Fields["f2"] = "f2";

fileMgr.Fields["f3"] = "f3";

fileMgr.Fields["f4"] = "f4";

fileMgr.Fields["f5"] = "f5";

服务端(ASP.NET):

string f1 = Request.Form["f1"];

string f1 = Request.Form["f2"];

string f1 = Request.Form["f3"];

string f1 = Request.Form["f4"];

string f1 = Request.Form["f5"];

 

7.5. 上传本地文件

使用步骤如下:

1.调用postLoc函数上传本地文件,注意路径需要使用双斜框(\\)

<div id="upPnl"></div>

<script type="text/javascript" language="javascript">

    var fileMgr = new HttpUploaderMgr();

 

     $(document).ready(function ()

     {

         fileMgr.Load();

         fileMgr.postLoc("D:\\360safe-inst.exe", "upPnl");

     });

 

</script>

 

7.6. 以压缩模式(zlib)上传

说明:开启压缩后,控件上传前会对文件进行zlib压缩操作,服务端接收到的数据需要进行解压操作。压缩后传输的数据量变小,可以有效的降低网络流量从而提高上传效率。此功能特别适合企业级文件传输环境。

 

7.7. 以gzip压缩模式上传

配置方法:

压缩效果对比:

1.对txt文件进行测试

原文件大小:91.7kb

提交数据:

gzip压缩模式:

压缩后:0.796kb

 

2.对exe文件进行测试

原文件大小:1049kb

提交数据:

gzip压缩模式:

压缩后:684.820kb

 

8.      UI模板

您可以根据实际需求来修改以下模板。

 

HTML:

<div name="tmpItem" class="UploaderItem" id="UploaderTemplate">

     <div class="UploaderItemLeft">

         <div class="FileInfo">

              <div name="fileName" class="FileName top-space">HttpUploader程序开发.pdf</div>

              <div name="fileSize" class="FileSize" child="1">100.23MB</div>

         </div>

         <div class="ProcessBorder top-space"><div name="process" class="Process"></div></div>

          <div name="msg" class="PostInf top-space">已上传:15.3MB 速度:20KB/S 剩余时间:10:02:00</div>

     </div>

     <div class="UploaderItemRight">

         <div class="BtnInfo"><span name="btnCancel" class="Btn">取消</span>&nbsp;<span name="btnDel" class="Btn hide">删除</span></div>

         <div name="percent" class="ProcessNum">35%</div>

     </div>

</div>

9.  服务端支持

9.1. ASP

9.1.1. upload.asp文件

<% @Language=vbscript Codepage=936 %>

<%

Option Explicit

Response.Buffer=True

%>

<!--#include file="UpLoadClass.asp"-->

<%

dim lngUpSize,uploader,intError

     Set uploader = new UpLoadClass

     uploader.TotalSize= 10485760'10MB

     uploader.MaxSize  = 10000*1024

     uploader.FileType = "gif/jpg/png/bmp/pdf/doc/xls/rar/zip/txt"

     uploader.Savepath = "upload/"

    

     '自动创建上传文件夹

     dim folder,fs

     folder = server.MapPath(uploader.Savepath)

     set fs = Server.CreateObject("Scripting.FileSystemObject")

     if(fs.FolderExists(folder) = false) then

         fs.CreateFolder(folder)

     end if

 

     lngUpSize = uploader.Open()

     intError = uploader.Form("photo2_Err")

    

     response.Write("upload/" & uploader.Form("ServerFileName"))

     if lngUpSize>uploader.MaxSize then

%>

         <script language="javascript">

         <!--

              alert("您上传的文件最大不能超过10M!!");

              history.back();

         //-->

         </script>

<%

         response.end

     end if

     if intError=-1 then

%>

         <script language="javascript">

         <!--

              alert("您没有上传任何文件,请重新上传!!");

              history.back();

         //-->

         </script>

<%

         response.end

     end if

     Set uploader = nothing

%>

 

HTTP文件上传插件开发文档-ASP的更多相关文章

  1. HTTP文件上传插件开发文档-JSP

    版权所有 2009-2016 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/http-u ...

  2. 上传Text文档并转换为PDF(解决乱码)

    前些日子,Insus.NET有分享一篇<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 它是按最简单与默认方式来处理 ...

  3. 上传Text文档并转换为PDF

    今天在ASP.NET MVC环境中学习一些PDF相关的知识,想法是上传文件成功时,并把文件转换为PDF文档. 打开你的专案,运行NuGet包管理器,下载一个叫iTextSharp的东东: 点击Inst ...

  4. JQuery文件上传插件ajaxFileUpload在Asp.net MVC中的使用

    0 ajaxFileUpload简介 ajaxFileUpload插件是一个非常简单的基于Jquery的异步上传文件的插件,使用过程中发现很多与这个同名的,基于原始版本基础之上修改过的插件,文件版本比 ...

  5. Linux服务器 上传/下载 文档/目录

    1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101 ...

  6. 微信小程序上传Word文档、PDF、图片等文件

    <view class="main" style="border:none"> <view class="title"&g ...

  7. sahrepoint 上传到文档库

    sharepoint学习笔记汇总 http://blog.csdn.net/qq873113580/article/details/20390149         /// <summary&g ...

  8. Bootstrap FileInput 多图上传插件 文档属性说明

    Bootstrap FileInput 多图上传插件   原文链接:http://blog.csdn.net/misterwho/article/details/72886248?utm_source ...

  9. github的上传本地文档

    自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...

随机推荐

  1. 洛谷【P1757】通天之分组背包

    浅谈\(DP\):https://www.cnblogs.com/AKMer/p/10437525.html 题目传送门:https://www.luogu.org/problemnew/show/P ...

  2. android栈和队列

    android栈和队列 栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表.LinkedList数据结构是一种双向的链式结构,每一 ...

  3. 数据库中通过group by找出表中的重复数据

    有时候在做数据割接时会碰到数据插入失败的情况,大部分都是导出的数据中存在重复导致的.我们可以通过查询语句带分组条件来确认是否有重复数据.例如我现在有表 t_wlf_info,其中有个 username ...

  4. PHP 16 个编程法则

    HP是最好的编程语言.对于PHP开发者来说,掌握一些编程法则是十分重要的.而在PHP中,以双下划线(__)开头的方法称为魔术方法,它们扮演着非常重要的角色. 常用的魔术方法包括: -__constru ...

  5. DataGrid方法标注

    在VS2010中无法增加了CColumn和Ccolumns类 解决方案,方案名->右击->添加类->ActiveX控件中的MFC类->添加弹出了“从ActiveX控件添加类向导 ...

  6. emqtt 4 (我要publish消息了)

    这次,分析处理publish msg的流程. 由protocol开始 publish 类型的packet的处理是: process(Packet = ?PUBLISH_PACKET(_Qos, Top ...

  7. 分布式缓存系统 Memcached 哈希表操作

    memcached 中有两张hash 表,一个是“主hash 表”(primary_hashtable),另外一个是“原hash 表”(old_hashtable).一般情况下都在主表中接受操作,在插 ...

  8. 校赛热身 Problem B. Matrix Fast Power

    找循环节,肯定在40项以内,不会证明. #include <iostream> #include <cstring> #include <string> #incl ...

  9. Docker -- resolve "join node timeout" error

    在worker节点机器上通过docker swarm join 到 manger node时,报Timeout错误,如下: Error response from daemon: Timeout wa ...

  10. 爬了个爬(三)Scrapy框架

    参考博客:武Sir Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 ...