关于ado.stream的问题

shadowzero 2001-08-30 08:48:35
用stream接收表单提交的文件时,会把http的头部信息也一起读入,使文件无法正常保存,请问如何去掉头部信息。

用以下代码将文件内容读入
objStream.write=request.binaryread(request.totalbytes)

保存文件的代码
objStream.savetofile "f:\upload.txt",2


直接将文件保存后发现多出了一些信息,不知如何去掉:

-----------------------------7d1a5620144
Content-Disposition: form-data; name="filename"; filename="C:\text.txt"
Content-Type: text/plain

…………
''文本内容
…………

-----------------------------7d1a5620144--
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wd_6532 2001-09-16
  • 打赏
  • 举报
回复
这个方法不能正确上传压缩文件,给我正确地方法。
hehongyu2000 2001-09-16
  • 打赏
  • 举报
回复
to: hydnoahark(诺亚方舟) 大哥
一个小错误:
>filesize=instrb(Position+1,formdata,divider)-Position-4
应为
filesize=instrb(Position+1,formdata,divider)-Position-2
所以wd_6532(无心)会说无法正确上传压缩文件, 因为少了两个byte. 

 
xddy 2001-08-31
  • 打赏
  • 举报
回复
这位兄台,请问为什么要
bcrlf=chrB(13) & chrB(10)
有这么多得???????????
或者告送我在哪里能找到它得存储方法。

hydnoahark 2001-08-31
  • 打赏
  • 举报
回复
<%@ Language=VBScript %>
<%
formsize=request.totalbytes
formdata=request.binaryread(request.totalbytes )
bcrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bcrlf))-1)

Position=instrb(formdata,bcrlf & bcrlf)+4
filesize=instrb(Position+1,formdata,divider)-Position-4


set dr=CreateObject("Adodb.Stream")
dr.Mode=3
dr.Type=1
dr.Open
set dr1=CreateObject("Adodb.Stream")
dr1.Mode=3
dr1.Type=1
dr1.Open

dr.Write formdata
dr.Position=Position-1
dr.CopyTo dr1,filesize
dr1.SaveToFile "d:\xxx.xxx"
set dr=nothing
set dr1=nothing

%>

28,406

社区成员

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

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