📄 uploadfile_inc.asp
字号:
<%
server.ScriptTimeout = 600
function savefile(formfilefield, path, maxsize)
dim streamobj,streamobj1, upload
set streamobj = server.createobject("adodb.stream")
set streamobj1 = server.createobject("adodb.stream")
streamobj.mode = 3
streamobj1.mode = 3
streamobj.type = 1
streamobj1.type = 1
savefile = ""
upload = true
startpos = lenb(divider) + 2
formfilefield = chr(34) & formfilefield & chr(34)
do while startpos > 0
strlen = instrb(startpos, formdata, bcrlf) - startpos
searchstr = midb(formdata, startpos, strlen)
if instr(bin2str(searchstr), formfilefield) > 0 then
str = rightb(searchstr,lenb(searchstr)-instrb(searchstr,str2bin("filename="))-9)
filename = ""
for i = lenb(str) to 1 step -1
if midb(str, i, 1) = chrb(asc("\")) then
filename = midb(str, i + 1, lenb(str) - i - 1)
exit for
end if
next
if filename = "" then upload = false
rfilename = GetExpFilename(bin2str(filename))
filename = ""
StrSql = "select * from sf_allowuploadfile"
Set rsexp = Conn.execute(StrSql)
if not (rsexp.bof or rsexp.eof) then
do until rsexp.eof
if lcase(rsexp("expfilename")) = lcase(rfilename) then
filename = "sf_" & year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & "." & lcase(rfilename)
exit do
end if
rsexp.MoveNext
loop
end if
rsexp.close
Set rsexp = nothing
if filename <> "" then
filestart = instrb(startpos, formdata, bcrlf & bcrlf) + 4
filelen = instrb(startpos, formdata, divider) - 2 - filestart
filesize = filelen
if filelen <= maxsize*1024 then
filecontent = midb(formdata, filestart, filelen)
streamobj.open
streamobj1.open
streamobj.write formdata
streamobj.position=filestart-1
streamobj.copyto streamobj1,filelen
streamobj1.savetofile path & "\" & filename, 1
streamobj.close
streamobj1.close
savefile = filename
else
savefile = ""
end if
end if
end if
if instrb(startpos, formdata, divider) < 1 then
exit do
end if
startpos = instrb(startpos, formdata, divider) + lenb(divider) + 2
loop
if not upload then savefile = "NULL"
end function
function getformval(formname)
getformval = ""
startpos = lenb(divider) + 2
formname = chr(34) & formname & chr(34)
do while startpos > 0
strlen = instrb(startpos, formdata, bcrlf) - startpos
searchstr = midb(formdata, startpos, strlen)
if instr(bin2str(searchstr), formname) > 0 then
valstart = instrb(startpos, formdata, bcrlf & bcrlf) + 4
vallen = instrb(startpos, formdata, divider) - 2 - valstart
valcontent = midb(formdata, valstart, vallen)
if getformval <> "" then
getformval = getformval & "," & bin2str(valcontent)
else
getformval = bin2str(valcontent)
end if
end if
if instrb(startpos, formdata, divider) < 1 then
exit do
end if
startpos = instrb(startpos, formdata, divider) + lenb(divider) + 2
loop
end function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -