ASP怎么将接收的二进制数据流写入文件

时间:2022-05-25 20:57:54
我将文件以二进制数据流的形式发给ASP处理,ASP接收部分代码如下:
dim FormSize,FormData
FormSize=Request.TotalBytes    
FormData=Request.BinaryRead(FormSize)
现在我想将接收的二进制数据流写入文件中,又写了下面的代码:
Set Fs=server.CreateObject("Scripting.FileSystemObject") '
Set File=Fs.OpenTextFile(server.MapPath("Download\test.Hex"),8,True) '2覆盖,8追加
File.Write FormData
File.Close
但是这样写的话,这句File.Write FormData会出错,我对ASP不是太了解,哪位跟我说一下该怎么解决将二进制数据流写入文件的问题?

6 个解决方案

#1


filesystemobject不支持二进制写入
写入二进制的话用adodb.stream对象吧,参考:
Set st=server.CreateObject("adodb.stream")
st.type=1
st.mode=3
st.open
st.position=0
st.write FormData
st.savetofile server.MapPath("ts.txt"),2
st.close
Set st=Nothing

#2


引用 1 楼 zz_asp 的回复:
filesystemobject不支持二进制写入
写入二进制的话用adodb.stream对象吧,参考:
Set st=server.CreateObject("adodb.stream")
st.type=1
st.mode=3
st.open
st.position=0
st.write FormData
st.savetofile server.MapPath("ts.txt……

你这种方法是不将接收数据保存成一个文件了,可是我一次接收的并不是整个文件,我是采用分块发送的,请指导一下

#3


顶起  顶起  顶起

#4


顶起 顶起 顶起 

#5


引用 4 楼 liuying1982000 的回复:
顶起 顶起 顶起

果然够意思  结贴时给你加分

#6


该回复于2011-08-31 09:31:15被版主删除

#1


filesystemobject不支持二进制写入
写入二进制的话用adodb.stream对象吧,参考:
Set st=server.CreateObject("adodb.stream")
st.type=1
st.mode=3
st.open
st.position=0
st.write FormData
st.savetofile server.MapPath("ts.txt"),2
st.close
Set st=Nothing

#2


引用 1 楼 zz_asp 的回复:
filesystemobject不支持二进制写入
写入二进制的话用adodb.stream对象吧,参考:
Set st=server.CreateObject("adodb.stream")
st.type=1
st.mode=3
st.open
st.position=0
st.write FormData
st.savetofile server.MapPath("ts.txt……

你这种方法是不将接收数据保存成一个文件了,可是我一次接收的并不是整个文件,我是采用分块发送的,请指导一下

#3


顶起  顶起  顶起

#4


顶起 顶起 顶起 

#5


引用 4 楼 liuying1982000 的回复:
顶起 顶起 顶起

果然够意思  结贴时给你加分

#6


该回复于2011-08-31 09:31:15被版主删除