ASP 无组件上传

说明:从网上收集了一部分,自己写了一部分。主要提升就是对于form的二进制数据进行了类封装,可以容易的得到form内的元素的信息。

Form 二进制数据格式:

分割标志数据 + 0x0D0A

元素说明信息 + 0x0D0A0D0A

元素内容数据 + 0x0D0A

分割标志数据 + 0x0D0A

元素说明信息 + 0x0D0A0D0A

元素内容数据 + 0x0D0A

……

分割标志数据 + 0x0D0A

1. Upload.htm

<html>

  <head><title>文件上传</title></head>

  <body>

<form enctype="multipart/form-data" action="upload.asp" method="post">

<input name="text0" type=text value="文本框"><br>

<input name="file1" type=file accept="image/*"><br>

<input name="file2" type=file accept="image/*"><br>

<input type=submit value="上传">

</form>

  </body>

</html>

2. upload.asp

<!--#include file="upload.inc"-->

<%

‘by sam 2004,6

‘###############################################################################

response.expires = 0

if request.servervariables("REQUEST_METHOD")="POST" then

response.clear()

response.buffer=true

set uform = new uploadform

uform.find_element "text0"

data = midb(uform.formdata,uform.datastart,uform.datalen)

Response.binaryWrite data

sdata = binarytostring(data)

Response.write sdata

Response.binarywrite stringtobinary(sdata)

uform.find_element "file1"

savefile server.mappath("/recv1.dat"),uform.formdata,uform.datastart,uform.datalen

uform.find_element "file2"

savefile server.mappath("/recv2.dat"),uform.formdata,uform.datastart,uform.datalen

set uform = nothing

end if

%>

3. upload.inc

<%

‘by sam 2004,6

‘#################################################################

function savefile(filename,formdata,start,len)

set strm1=server.createobject("adodb.stream")

set strm2=server.createobject("adodb.stream")

strm1.open

strm1.type=1 ‘binary

strm2.open

strm2.type=1 ‘binary

strm1.write formdata

‘strm1.savetofile server.mappath("/1.raw"),2

strm1.position = start - 1

strm1.copyto strm2,len

‘strm2.savetofile server.mappath("/1.gif"),2

strm2.savetofile filename,2

set strm1=nothing

set strm2=nothing

end function

function simplebinarytostring(binary)

dim i, s

for i = 1 to lenb(binary)

s = s & chr(ascb(midb(binary,i,1)))

next

simplebinarytostring = s

end function

function binarytostring(binary)

dim cl1,cl2,cl3,pl1,pl2,pl3

dim l

cl1 = 1

cl2 = 1

cl3 = 1

l = lenb(binary)

do while cl1<=l

pl3 = pl3 & chr(ascb(midb(binary,cl1,1)))

cl1 = cl1 + 1

cl3 = cl3 + 1

if cl3>300 then

pl2 = pl2 & pl3

pl3 = ""

cl3 = 1

cl2 = cl2 + 1

if cl2>200 then

%>

ASP 无组件上传

时间: 2024-10-15 09:19:31

ASP 无组件上传的相关文章

艾恩ASP无组件上传类(上传组件)说明文档(from www.sysoft.cc)

艾恩ASP无组件上传类(上传组件)说明文档2010-1-18 By Anlige一.简介自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试写一个能够用最少最简单的代码实现各种上传方式的上传类.在学校期间就开始写,一点点的完善.优化,到现在的版本,现在的版本能适应各种上传方式.上传类的主要的功能如下:1.自由设置最大上传大小.单文件最大上传大小2.自由设置允许上传的文件类型3.可设置文本的编码,以适应各种上传环境4.内置进度条,a用户可选择开启和关闭5.多种错

一个能防止改名木马漏洞的无组件上传类

现在流行的asp上传组件除了无惧的化境之外,最多的可能就是ewebEditor 和Fckeditor的上传是,但是经过测试都很难防止改名为gif和asp文件上传,在FckEditor中改名后的asp木马不能直接上传,系统会检测到 <%等字符而拒绝,但是经过修改后的asp木马再改名为gif后却可以顺利上传,如在文件前端加上许多空行,或对木马进行加密处理.当然有人会认为木马传到服务器后会被杀掉,但是做过免杀的木马却会漏网.基于这些原因,本人开发了一个可以从根本上解决这个问题的无组件上传类.经过测试常

asp无惧上传类2.2上传文件的同时,通过 Request.QueryString将参数传递到保存页面中

先转一段文字,对不对再评论 在后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易.但是如果 需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取.BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的 是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或  Request.QueryString 集合了.结合Request对象的TotalBytes属性,可以将 所有表单提交的数据全部变成二进制,不过

asp 文件上传(ASPUpload组件上传)

要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件,它的下载网址是:           http://www.persits.com/aspupload.exe       组件提供者网址是:           http://www.aspupload.com        

ASP中文件上传组件ASPUpload介绍和使用方法

[导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件,它的下载网址是:           http://www.persits.com/aspupload.exe       组件提供者网址是:           http://www.aspupload.com    

ASP使用ASPupload组件上传多个文件

ASP使用ASPupload组件上传多个文件的示例,ASPupload是一款专门在ASP环境下上传文件的一个组件,支持多文件上传,本教程主要是演示如何使用aspupload上传文件.测试前,请确保你已安装了ASPupload,若还没有安装,你可在这里下载:AspUpload ASP上传组件 v3.0下载 下载后请双击安装到你的测试服务器上,下面来说一下如何使用. 请先建立以下文件上传表单文件: 01 <HTML> 02 <TITLE>ASP使用ASPupload组件上传多个文件的示

ASP.NET MVC使用jQuery无刷新上传

昨晚网友有下载了一个jQuery无刷新上传的小功能,他尝试搬至ASP.NET MVC应用程序中去,在上传死活无效果.Insus.NET使用Teamviewer远程桌面,操作一下,果真是有问题.网友是说,把源代码一一照搬的复制.难道它不能移值至ASP.NET MVC应用程序吗?Insus.NET想了一下,源代码是html+ashx的,它一定能的. 网友发送能正常运行的代码给Insus.NET...... 重点的script文件:http://download.cnblogs.com/insus/M

[Asp.net mvc]jquery.form.js无刷新上传

写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jquery.form.js的插件实现. demo 首先通过nuget安装插件jquery.form.js 引入js文件 <script src="~/Scripts/jquery.form.min.js"></script> 前端调用的代码 @{ ViewBag.Titl

ajax jsp 无刷新上传文件

本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点.当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了.但是用iFrame来实现无刷新上传文件确实一个很好的选择. ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以使用IFrame来上传文件是最好的选择. 我在这