新微赢技术网

标题: 上传代码,我这样理解对吗? [打印本页]

作者: 泪在爱上雕刻    时间: 2010-1-10 23:38
标题: 上传代码,我这样理解对吗?
<form name="form1" method="post" action="**.asp" enctype="multipart/form-data">
   <input type="text" name="username" />
   <input type="submit" name="submit" value="提交" />
</form>
上面是上传页的表单设计
我看好多上传代码都涉及到request.binaryread(request.totlebytes)读取到传递过来的数据,再instr截取,截取的位置都是以chr(13)&chr(10)为标志的
请问:
1、传到处理页的数据是不是form1对应一段,username对应一段,submit对应一段?
2、为什么用chr(13)&chr(10),chr(13)&chr(10)不就是两字节了么?
作者: 帅精灵    时间: 2010-1-10 23:38
<form name="form1" method="post" action="**.asp" enctype="multipart/form-data">
   <input type="text" name="username" />
   <input type="submit" name="submit" value="提交" />
</form>
enctype="multipart/form-data"
制定这种方式应该是表单的数据以2进制方式传递,上传类的chr(13)等,是因为上传文件的表单会包含其它表单元素,而需要从表单数据里提取出上传文件的二进制数据。
作者: 风声鹤唳    时间: 2010-1-10 23:38
superlinyzu 在 2008-10-13 10:44 的发言:

不好意思。我还是不很理解,chr(13)不再是ASCII码了,利用它怎么能实现截取
除了file域里的上传文件是二进制上传的,其余的表单元素都不是么?
谢谢你

multipart就是说多部分,联系起来理解就是说表单里的File、Input都当作二进制上传。
其实说白了,Input、TextArea里的东西也不存在什么二进制上传不二进制上传之类的,你可以抓包看看传的格式。
作者: 熾天使rose    时间: 2010-1-10 23:38
每个换行都是chrb(13)&chrb(10)

上传后,数据结构是这样的(二进制的形式)

-----------------------------7d812413190092
Content-Disposition: form-data; name="input1"

wer
-----------------------------7d812413190092
Content-Disposition: form-data; name="file1"; filename="C:\Documents and Settings\Anlige\桌面\自动翻译.html"
Content-Type: text/plain

取词anlige

划词翻译 - Dict.CN    &copy;2003-2008 Dict.CN在线词典   

-----------------------------7d812413190092--
作者: 新时代    时间: 2010-1-10 23:38
不好意思。我还是不很理解,chr(13)不再是ASCII码了,利用它怎么能实现截取
除了file域里的上传文件是二进制上传的,其余的表单元素都不是么?
谢谢你
作者: 尐嘴亂儭    时间: 2010-1-10 23:38
给你段代码

<html>
<head>
<title>简单的文件上传示例及详细说明</title>
<style>
BODY {font-size:12px;}
INPUT {font-size:12px;border:1px #dddddd solid;}
.f {font-size:12px;border:1px #dddddd solid;width:300px}
IMG {border:0px;}
</style>
</head>
<body>
<h3>简单的文件上传示例及详细说明</h3>
<a href="http://www.ii-home.cn"><img src="http://www.ii-home.cn/img/myblog.jpg" /></a>
本示例由Anlige制作,QQ417833272,Email:zhanghuiguoanlige@126.com  
<hr />
<form name="form1" action="?act=upload" method="post" enctype="multipart/form-data">
填写内容: <input name="input1" type="text" /><br />
选择文件: <input class="f" type="file" name="file1" /><br />
<input type="submit" value="提交" />
</form>
<pre>
<%
if request.querystring("act")="upload" then
dim t_stream,FormName,localname,servername,tdata     '定义变量
tdata=request.binaryread(request.totalbytes)
response.binarywrite tdata
end if
%>
</pre>
</body>
</html>
作者: 潇洒人    时间: 2010-1-28 22:05
楼主强呀,这样贴子也能发表出来,对你佩服之心比长江的水还多哦




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2