请各位asp高手帮帮忙!

liuyu202 2003-12-07 04:03:31
1 在test.htm中用一个表单来选择上传的文件,表单内容如下
<form method="post" enctype="multipart/form-data" action="test.asp" name="mainForm">
    <input type="file" name="myfile"><br>
<input type="hidden" name="test1" value="aaaaa">
<input type="hidden" name="test2" value="bbbbb">
<input type="text" name="test3" value="ccccc">
   <input type="submit" name="ok" value="OK">
</form>
</center>

2 在test.asp中的代码如下
<%
formsize = request.TotalBytes   '获得表单原始信息的长度
formdata = request.binaryread(formsize)   '读取表单原始信息
response.binarywrite formdata  '返回表单原始信息
'response.Write(request.Form("a1"))
%>

3 在test.htm中选择一个文件(jpg图片)后提交,出错。错误如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 编译器错误 错误 '800a0408'
无效字符
/myweb/myobjtest/test.asp,行10
formsize = request.TotalBytes   '获得表单原始信息的长度
-----------------^

我不知道为什么request会是无效字符 ???
怎么解决这个问题呢?

...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyu202 2003-12-21
  • 打赏
  • 举报
回复
谁能给我解释一下问题的原因阿
liuyu202 2003-12-07
  • 打赏
  • 举报
回复
flying310(林林)你的代码可以上传成功吗?
能不能给我解释这段代码?
function ImageUp(formsize,formdata)
dim bncrlf
dim divider
dim datastart
dim dataend
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
imageup=midb(formdata,datastart,dataend)
end function
Iamnomad 2003-12-07
  • 打赏
  • 举报
回复
单个文件上传没必要用组件的
flying310 2003-12-07
  • 打赏
  • 举报
回复
化境的" 无组件上传代码去网上搜很多.
flying310 2003-12-07
  • 打赏
  • 举报
回复
在你的代码中没对图片的size作处理,发生了错误,你可以用无组建上传的那个东东很好用不过图片最好写到数据库里.
给你个只能把图片写道库里的代码
dim cn
dim rs
dim imageid
dim FormSize
dim FormData
dim Image
dim tmid
tmid=Request.item("tmid")
set rs=server.CreateObject("adodb.recordset")
set cn=Server.CreateObject("ADODB.Connection")
cn.Open "bawei", "sa","itdn1234"
FormSize = Request.TotalBytes
FormData = Request.BinaryRead(FormSize)
Image=ImageUp (FormSize,Formdata)
rs.Open "pic",cn,3,3
rs.AddNew
rs("image") = NULL
rs("image").appendchunk Image
rs.Update
imageid=rs("imageid")
rs.Close
set rs=nothing
cn.close
set cn=nothing
function ImageUp(formsize,formdata)
dim bncrlf
dim divider
dim datastart
dim dataend
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
imageup=midb(formdata,datastart,dataend)
end function
liuyu202 2003-12-07
  • 打赏
  • 举报
回复
请把"化境的" 无组件上传代码给我,让我看看,谢谢!
liuyu202 2003-12-07
  • 打赏
  • 举报
回复
我是根据 左轻侯的用Delphi 6开发ASP上传组件详解写的代码
可是我照他的代码写,就是不行。
左轻侯的文中的一段如下:
 这种编码会产生什么样的表单信息呢?让我们来看看test.asp,也就是接受表单的asp文件的源码,它非常简单:

<%
formsize=request.totalbytes   '获得表单原始信息的长度
formdata=request.binaryread(formsize)   '读取表单原始信息

response.binarywrite formdata  '返回表单原始信息
%>

  如读者在注释中了解的,这段代码的功能是将表单的原始信息返回。让我们来看看它的运行效果。将这两个文件置于web目录下,访问test.htm。在文件输入框中,选择一个文件(我选了一个jpg图片,不过最大不要太大)。提交,然后可以看到这样一堆乱七八糟的信息:

-----------------------------7d2227629012e Content-Disposition: form-data; name="mefile"; filename="C:\Documents and Settings\aaa\My Documents\My Pictures\zzjh.jpg" Content-Type: image/pjpeg (作者注:以下为乱码) -----------------------------7d2227629012e Content-Disposition: form-data; name="a1" fdsaf -----------------------------7d2227629012e Content-Disposition: form-data; name="a2" fdsaf -----------------------------7d2227629012e Content-Disposition: form-data; name="a3" fdsaf -----------------------------7d2227629012e Content-Disposition: form-data; name="a4" fsdfsdsaf -----------------------------7d2227629012e Content-Disposition: form-data; name="a5" 这个是这个 -----------------------------7d2227629012e Content-Disposition: form-data; name="a6" fdsaf -----------------------------7d2227629012e Content-Disposition: form-data; name="ok" OK -----------------------------7d2227629012e--

  这就是用"multipart/form-data"方式编码的表单原始信息。其中那一段看起来是乱码的部分,就是jpg图片的编码。(实际的jpg图片编码可能要比这长得多,视文件大小而定。为了行文方便,作者只保留了一小部分。)
  分析一下这段信息的格式:  

-----------------------------7d2227629012e 这是各个域之间的分隔符。
Content-Disposition: form-data; 说明这是表单中的域。
name="mefile"; 域的名称。
filename="C:\Documents and Settings\aaa\My Documents\My Pictures\zzjh.jpg" 上传文件在本地硬盘上的名称。
Content-Type: image/pjpeg 文件类型。
后面是文件本身的数据。

可是,他怎么可以得到“一堆乱七八糟的信息“呢?

jzywh 2003-12-07
  • 打赏
  • 举报
回复
不能同时传数据和字符串

用 化境的 无组件上传代码!

28,390

社区成员

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

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