用asp上载文件,是不是要专门写一个上载的dll???

Axiong 2000-07-27 12:01:00
怎样实现上载
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghu 2000-07-27
  • 打赏
  • 举报
回复
已经有很多或好或差,或贵或FREE的组件了
也可不用组件,直接用HTML的file控件就可以
wanghu 2000-07-27
  • 打赏
  • 举报
回复
一两句话说不清楚,请参考: 
http://www.yesky.com/33554432/34603008/95366.htm
Axiong 2000-07-27
  • 打赏
  • 举报
回复
怎么实现,给个sample
下载说明 拷贝AspUpload.dll和所有.asp和.htm文件到你服务器的任何目录,如c:\AspUploadDir. 注册组件从MS DOS或Start/Run执行命令 REGSVR32 c:\AspUploadDir\AspUpload.dll 为了运行示例脚本,你需要将目录c:\AspUploadDir加入IIS虚拟目录清单中(使用Microsoft Managemant Console)开始 这是我们第一个html文件 Test1.htm



注意 在Form标记的属性 ENCTYPE="multipart/form-data" 他指示浏览器发送整个文件到服务器而不只是输入框内的文件名称。 你必须加上在Form标记内加上这个属性,否则将不能上传组件。让我们现在看看处理上传的脚本: UploadScript1.asp: <% Set Upload = Server.CreateObject("Persits.Upload.1") Count = Upload.Save("c:\upload") %> <% = Count %> files uploaded. 这段脚本的第一行简单创建了一个AspUpload对象的实例。第二行调用组件的真正实现功能的方法Save:处理浏览器传过来的数据,计算有多少文件被上传了,并把它们保存到指定的本地目录。目录名字可以以"\"结尾,也可以不是。所有文件会被以原来的文件名保存在那个目录下。 Save方法返回成功上传文件的数目,万一出错,这个方法将抛出一个例外(Exception),我们现在可以尝试着上载一些文件。注意:你可以使用表单上这3个输入框中的任何一个或者全部。ASPUpload会找出那个输入框是使用了的,而那个是没有使用的。让我们看一看一个例子的文件,test2.htm和UploadScript2.asp
File 1: Description 1:
File 2: Description 2:
UploadScript2.asp <% Set Upload = Server.CreateObject("Persits.Upload.1") Upload.Save "c:\upload" %> Files:
<% For Each File in Upload.Files Response.Write File.Name & "= " & File.Path & " (" & File.Size &")
" Next %>

Otheritems:
<% For Each Item in Upload.Form Response.Write Item.Name & "= " & Item.Value &"
" Next %> 注意:我们的html Form现在有两种输入框,type=file和type=text。因为我们的表单使用了enctype属性,我们可以不再直接通过标准的ASP Request对象方法访问表单变量。 Form集合,由Upload.Form集合来代替。这个集合就等同Request.Form.也就是说,我们可以通过整数或字符串索引访问它的元素,例如:Set Item1 = Upload.Form("DESCR1") 或 Set Item1 = Upload.Form(1). 我们也可以像上面的例子那样使用For-Each语句,遍历集合中的所有元素。Form集合包含的类型为FormItem的对象,只有2个字符串的属性,Name和Value(缺省属性) 请记住,upload.Form集合只包括非文件的项目,也就是说非的表单项目。我们还有另外一个集合,叫Files,包含类型为UploadFile的对象,代表了从上传的文件。Files很像Form集合,Files集合也可以使用字符串或者索引访问,或者通过 For-Each语句(如上面所示) 在运行了例子2之后,我们就会看到像这样的东西: Files: FILE1=c:\upload\File1.xls (108544) FILE2=c:\upload\File2.zip (211687) Other items: DESCR1=bla bla DESCR2=test test 注意:我们已经通过UploadFile对象的Path和size属性获得目的路径和上传文件的大小N 如果我们的表单只含有一个文件输入框,如:,那么就用不着使用for-each语句,我们可以简单这么: Response.Write Upload.Files("ONLYFILE").Path 或者更通常的可以用 Response.Write Upload.Files(1).Path 注意:除非Save方法被调用,否则Files和Form集合都是无效的。在调用Upload.Save之前调用,是错误的 ' 错误! Upload.Save( Upload.Form("Path") ) 文件大小设定限制 假定你需要限制上传文件的大小,以便防止不符责任的用户消耗你的硬盘空间。你需要做的只是在调用Save之前,使用SetMaxSize方法。 Set Upload = Server.CreateObject("Persits.Upload.1") Upload.SetMaxSize 50000, False Upload.Save "c:\upload" 在这个例子里面我们限制了上传文件为50000字节。这个可选的第二个参数指定是否一个文件大于最大字节数时候是被截断。(如果设置为fase,或者忽略。)或者遇上错误就放弃(如果设置发false)强制

此示例演示在 Internet Explorer 4.0 WinInet.dll 中引入并记录在 Internet 客户端 SDK 中的 HttpSendRequestEx 函数的正确用法。 原始的 HttpSendRequest 函数有这样一个重大限制: 所有请求的数据都有一个缓冲区时调用该函数时将提供。这是通常不方便、 导致在某些客户端应用程序中,性能较差,可能会无法上载大量数据从客户端计算机使用有限的内存。新的 HttpSendRequestEx 函数允许启动请求,发送出数据分小段为可用,然后结束后已发送的所有数据的请求的程序。为了使此函数以处理计算机上必须安装 Internet Explorer 4.0。下列文件已可从 Microsoft 下载中心下载: Hsrex.exe 有关如何下载 Microsoft 支持文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 119591 如何从在线服务获得 Microsoft 支持文件微软已对此文件进行病毒扫描。Microsoft 使用该文件投递日期时可用的最新的病毒检测软件。该文件存储在安全增强型服务器上,以防止对文件进行任何未经授权的更改。 Hsrex.exe 是自解压的存档文件,其中包含 BigPost.cpp (演示程序代码) 和 Readall.asp一个 Active Server Pages (ASP) 脚本将读取所有发送 POST 请求中的数据。Readall.asp 是 BigPost,可以使用 Microsoft 互联网信息服务器 (IIS) 版本的支持 ASP 作为示例目标提供。对于其他 Web 服务器,您需要提供相应的服务器脚本来读取数据。 若要编译此程序包含在 Microsoft Visual C++ 5.0,请执行以下步骤: 1.运行 Visual C++ 和创建一个新的 Win32 控制台应用程序调用"BigPost"。 2.在目录中创建项目的位置,运行 Hsrex.exe。 3.将 BigPost.cpp 添加到 BigPost 项目。 4.转到项目设置对话框中,单击链接选项卡,然后添加到 WinInet.lib"对象/库模块:"字段。 5.请确保配置 Visual C++,以便编译器和链接器将使用 Wininet.h 和 Wininet.lib 从 Internet 客户端 SDK。如果未能做到这一点,将导致编译器或链接器错误。原型和 HttpSendRequestEx 的导出不包含 Visual C++ 中包含的包括和库文件。 6.生成项目。它将创建 BigPost.exe。 在程序运行,如下所示: BigPost < 大小 >< 服务器 >< 路径 > 例如,以下将开机自检 1 兆字节 (1024 KB) 到 http://yourserver/scripts/ReadAll.asp: 您的服务器 /scripts/ReadAll.asp BigPost 1024

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧