`
film
  • 浏览: 231410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多

先转一段文字,对不对再评论

在后台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 乱码问题

    其中,`Request.QueryString`是ASP.NET中用于获取URL查询字符串(即URL中问号后的部分)的一种常用方法。然而,在处理包含中文字符的数据时,可能会遇到乱码的问题。本文将详细介绍`Request.QueryString`乱码的原因...

    asp.net下Request.QueryString取不到值的解决方法

    asp.net下Request.QueryString取不到值的解决方法

    Request、Request.Form和Request.QueryString的区别

    `Request.QueryString` 是另一个`Request`的属性,它的功能是获取通过URL查询字符串传递的数据,即URL中“?”之后的部分。例如,在URL `http://example.com/index.aspx?name=value` 中,`name=value` 就是查询字符串...

    ASP读取Request.QueryString编码的函数代码.docx

    总结起来,这篇文档介绍了一个ASP函数,它能够解析和处理包含各种编码(如GBK和UTF-8)的`Request.QueryString`参数,使得在ASP中处理编码问题变得更加灵活和方便。通过创建自定义类`Cls_URI`并使用字典对象存储键值...

    asp.net中Request.QueryString与Request.Param的区别分析

    `Request.QueryString`允许开发者获取这些参数值,如`Request.QueryString["id"]`将返回"123"。这种方式适用于传递少量非敏感数据,因为查询字符串会显示在浏览器地址栏,易于查看和被其他人看到。 `Request.Form`...

    C# request获取参数.docx

    在访问时,Request.Params 会将 QueryString、Form、Cookies 和 ServerVariables 四个集合的数据合并到一个新集合中,然后再查找指定的结果。这个集合是在第一次访问时创建的,如果集合不存在则创建一个新的集合。...

    循环取值Request.QueryString的用法

    Request.QueryString 是 ASP 中的一个对象,用于获取客户端通过 GET 方式提交的数据。在 ASP 应用程序中,Request.QueryString 对象可以获取 URL 中的查询字符串,并将其转换为可以使用的数据类型。 Request....

    Jquery中request和request.form和request.querystring的区别

    Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据 而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString ...

    通过JS获取Request.QueryString()参数的值实现方法

    在网页开发中,有时我们需要获取URL中的查询字符串(Query String)参数,以便处理或使用这些参数。`Request.QueryString()` 在ASP.NET中是一个方法,用于获取HTTP请求URL中的查询字符串部分。然而,在JavaScript中...

    页面之间传递参数

    在Web开发中,最常见的一种页面间传递参数的方法就是通过URL来实现。具体而言,可以在页面跳转时,在URL后面加上问号(?)和一系列键值对的形式来传递参数。例如,`BxdView.aspx?srcUrl=BxdCheckList.aspx&id={0}&...

    ASP技术常遇问题解答-如何将Query String传送到另一个ASP文件去?.zip

    在ASP(Active Server Pages)开发过程中,经常遇到需要在不同页面间传递参数的情况,Query String是一种常见的传递方式。本文档“ASP技术常遇问题解答-如何将Query String传送到另一个ASP文件去?”将深入探讨这一...

    Aspnet Mvc教程 15.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

    《ASP动态网页制作》request对象的form方法和querystring方法[借鉴].pdf

    ASP动态网页制作之request对象的form方法和querystring方法 《ASP动态网页制作》request对象的form方法和querystring方法是 ASP 内建的获取客户端信息的方法。Request 对象是学生开始学习动态网页制作的基础,掌握...

    asp下request.querystring(&quot;id&quot;)与request(&quot;id&quot;)区别

    在ASP(Active Server Pages)编程中,处理Web页面上的用户输入数据是常见的任务。在ASP中,可以通过Request对象来访问这些数据。Request对象提供了多个集合(Collection),用于获取客户端通过HTTP请求发送的数据。...

    asp.net页面传参的三种方法

    在目标页面中,可以通过 Request.QueryString 来获取传递的值: ```csharp private void Page_Load(object sender, System.EventArgs e) { Label1.Text = Request.QueryString["name"]; Label2.Text = Request....

    QueryString-Helper:一个小型库,用于帮助解析和操纵C#中的ASP.NET QueryString参数

    QueryString助手一个小型库,用于帮助解析和操纵C#中的ASP.NET QueryString参数程式码范例 QueryStringHelper qs1 = new QueryStringHelper ( Request . QueryString ); // initialise from Request....

    Request对象和乱码解决.doc

    在服务器端接收到参数后,先将参数按照ISO-8859-1解码,再转为服务器期望的编码。如代码所示: ```java String name = request.getParameter("username"); byte[] user = name.getBytes("ISO-8859-1"); name = new ...

    Asp.net页面之间传递参数的几种方法荟萃

    在Asp.net开发中,页面间参数传递是实现复杂应用逻辑的关键技术之一。根据给定文件的标题、描述以及部分代码示例,我们可以总结出Asp.net页面间传递参数的几种常见方法及其应用场景与注意事项。 ### 1. 通过URL查询...

Global site tag (gtag.js) - Google Analytics