小米粥怎么煮给婴儿吃:怎么上传文件到指定列

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 17:50:31
我做了一个上传文件的页面,现在想让上传的文件到指定的列
上传代码:
Response.Expires=0
Function f_Bin2Str(ByVal sBin) '函数作用将字节码转化成Unicode字符串形式
Dim iI, iLen, iChr, iRe '定义iI,iLen,iChr,iRe
iRe = ""
If Not IsNull(sBin) Then '如果不是空的(sBin)二进制数据
iLen = LenB(sBin) 'lenB是求unicode码的长度,len是求字符长度
For iI = 1 To iLen
iChr = MidB(sBin, iI, 1) '每次取出一个字符
If AscB(iChr) > 127 Then '判断每一个字符,大于127
iRe = iRe & Chr(AscW(MidB(sBin, iI + 1, 1) & iChr)) '如果是大于127的字符,取前后两个字节共同构成真实字符
iI = iI + 1
Else
iRe = iRe & Chr(AscB(iChr)) '转化ASC码小于或等于127的字节码为字符
End If
Next
End If
f_Bin2Str = iRe
End Function

iConcStr = "Driver={Microsoft Access Driver (*.mdb)};DBQ= d:\data\infosys.mdb"
iSql="softdetail"
set iRe=Server.CreateObject("ADODB.Recordset")
iRe.Open iSql,iConcStr,1,3
iLen=Request.TotalBytes
sBin=Request.BinaryRead(iLen)
iCrlf1 = ChrB(13) & ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1 '上传表单的值部分与头部说明文件的分界
iLen = InStrB(1, sBin, iCrlf1) - 1
iSpc = LeftB(sBin, iLen) '取得分界字符,分界部分是重复的
sBin = MidB(sBin, iLen + 34) '上面这一句是取分界符后面的字节码,也可以写成
iPos1 = InStrB(sBin, iCrlf2) - 1 '得到开始位置
While iPos1 > 0
iStr = f_Bin2Str(LeftB(sBin, iPos1))
iPos1 = iPos1 + 5
iPos2 = InStrB(iPos1, sBin, iSpc)

iPos3 = InStr(iStr, "; filename=""") + 12 '判断是否有File类型的值
If iPos3 > 12 Then
iStr = Mid(iStr, iPos3)
iPos3 = InStr(iStr, Chr(13) & Chr(10) & "Content-Type: ") - 2
iFn = Left(iStr, iPos3)
if iFn = "" then
Response.Redirect "/error.htm"
Response.End
end If
If iFn <> "" Then
ire.AddNew
ire("path")=left(iFn,instrrev(iFn,"\"))
iRe("fname") = mid(iFn,instrrev(iFn,"\")+1)
iRe("filetype") = Mid(iStr, iPos3 + 18)
iRe("intro").AppendChunk MidB(sBin, iPos1, iPos2 - iPos1)
iRe.Update
End If
End If

sBin = MidB(sBin, iPos2 + iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Wend
iRe.close
set iRe=Nothing