先转一段文字,对不对再评论
在后台asp程序中,以前获取表单提交的ASCII数据,非常的容易。但是如果需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取。BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的是,一旦使用BinaryRead方法后,再也不能使用Request.Form或Request.QueryString集合了。结合Request对象的TotalBytes属性,可以将所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。
好像不全对 ,蓝色字体这里好像有 问题,用无惧上传类2.2(作者好像说是2.0,也许有人改动过)上传文件时,Request.Form就是不能用,和该类冲突。这个也许就是以为蓝色字体提到的原因,可是Request.QueryString可以用。为了解决传文件的同时,要传递变量值,我使用的方法是:
如果设置批量上传,则通过文件上传xml到服务器然后写入mdb,如果不是批量上除,单个例如则用form提取变量值。
批量是时候,将tea_savework.asp递交地址改写成?piliang=true&。。。。。其他变量值,就是下面的代码:
if piliang="" then
%>
<form name="form1" method="post" action="tea_savework.asp">
<%else%>
<form name="form1" method="post" action="tea_savework.asp?piliang=true&cla_id=<%=set_cla_id%>&sub_id=<%=set_sub_id%>&ter_id=<%=set_ter_id%>&bwc_id=<%=set_bwc_id%>" enctype="multipart/form-data">
<%end if%>
.....
<%if piliang = "on" then %> 请选择上传成绩的Excel文件(必须使用模板创建的成绩文件)<input name="wenjian" type="file" > <% end if%>
<input type="submit" name="Submit3" value="录入全班考试成绩">
<input name="bbs_count" type="hidden" id="bbs_count" value="<%=i%>" size="2">
<input name="cla_id" type="hidden" id="cla_id" value="<%=set_cla_id%>" size="2">
<input name="sub_id" type="hidden" id="sub_id" value="<%=set_sub_id%>" size="2">
<input name="ter_id" type="hidden" id="ter_id" value="<%=set_ter_id%>" size="2">
<input name="bwc_id" type="hidden" id="bwc_id" value="<%=set_bwc_id%>" size="2">
-------------------------------------------------------------------------------------------------------------------------
tea_savework.asp中的保存代码:
test=0
if request.querystring("piliang")="true" then
cla_id=Request.QueryString("cla_id")
ter_id=Request.QueryString("ter_id")
sub_id=Request.QueryString("sub_id")
bwc_id=Request.QueryString("bwc_id")
call savefile() ‘先得到变量值,然后保存文件,具体代码不写了。
test=1
else
bbs_count=Request.form("bbs_count")
bbs_count=request.form("bbs_count")
cla_id=request.form("cla_id")
ter_id=request.form("ter_id")
sub_id=request.form("sub_id")
bwc_id=request.form("bwc_id")
end if
在使用该类的同时,不能通过request.form获取参数,和该类中读取文件的操作冲突,怀疑是用了上面蓝色字体提到的方法,将form中的参数破坏了,如果先使用form获取参数,那么该类就无法读取文件。。。。。。所以用querystring获取?后面的变量值,然后再创建类实现读取上传的二进制文件,并保存。
TMD好久没搞asp了,手里所有的书里 关于asp保存文件都没提,浏览器对这个递交文件的格式是应该是统一的,但是asp对他 处理的方式比较特殊,原来以为用form可以将参数值获取,再用类读上传的二进制文件,现在看来好像二者是冲突的,用form得到参数,好像会破坏递交的数据,是不是form方法对二进制文件进行了格式处理,这样不能用
BinaryRead 方法读了???不知道!!!
也许用form方法得到参数值之后,是不是可以用其他方法得到上传的二进制文件?我想微软的asp应该有自己的方式,不应该会破坏上传的二进制文件。只是不知道用什么方式,现在到处都是转载,乱转,,,,,分析的人少,即使分析的也是N年(估计大约是04年左右的文章)前分析的,应该不透彻。
好久没说话了,自己都不知道自己说了些什么,乱。。。。。。给自己看就行了,当做笔记。大家就不要看了~~~~
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
Request.QueryString 获取的中文变乱码了,解决方法如下 1、html中,可以用js的 encodeURI() 方法将要传的中文处理,例如 encodeURI("I am 乱码") ,处理之后,字符串中的中文 “乱码” 两字将会被被十六进制的转义...
asp.net下Request.QueryString取不到值的解决方法
Request、Request.Form和Request.QueryString的区别
ASP读取Request.QueryString编码的函数代码.docx
Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据 而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString ...
如果要在两个页面传递数据的话,只能用request.querystring、request.form、request.cookies Request.Params 是在 QueryString、Form、Server Variable 以及 Cookies 找数据, 他首先在 QueryString 集合查找数据,...
下面小编就为大家带来一篇通过JS获取Request.QueryString()参数的值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Aspnet Mvc教程 15.QueryString传值 06:18 Aspnet Mvc教程 16.表单生成及Post传值 07:20 Aspnet Mvc教程 17.UpdateModel 05:28 Aspnet Mvc教程 18.单选复选(更新) 08:57 ASPnet MVC教程 19.表单验证 10:50
循环取值Request.QueryString的用法
QueryString助手一个小型库,用于帮助解析和操纵C#中的ASP.NET QueryString参数程式码范例 QueryStringHelper qs1 = new QueryStringHelper ( Request . QueryString ); // initialise from Request....
ASP.NET页面间数据传递的各种方法和分析 1.使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递。如页面A.aspx 跳转到页面B.aspx,可以用Request....
ASP读取Request.QueryString编码的函数代码,学习asp的朋友可以参考下。
大多数情况下我用这个插件来读取一些配置信息。 我们有时候会在 html 标签... $.request.queryString["key"] 很方便就能读取a上面的配置信息,而且我们不需要给a 添加太多其他的非Html属性,够方便吧,赶紧来下载吧
入口页面: wxProcess.aspx 微信公众平台 网页授权获取用户基本信息 //获取从wxProcess.aspx传递过来的跳转地址reurl if (Request.QueryString["reurl"] != null && Request.QueryString["reurl"] != "") { re...
Request对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.doc
一个非常棒的程序,用于修改request携带的参数信息。使用了filter等技术。