例表test
id int IDENTITY (1, 1) NOT NULL ;
testtext ntext;
images image;
提交文件里的表单如下设置:
<form method="post" action="upload.asp" name="form1" enctype="multipart/form-data" target="_blank">
图: <input type="file" name="file1"></form>
<form method="post" action="textprocess.asp" onsubmit="return Validate(this);" name="form2">
<input type="text" name="testtext">
</form>
同时在提交表单的文件的head里加入如下代码:
<script language="javascript">
function Validate(form2)
{
form1.submit();
}
</script>
upload.asp里的主要代码:
<!--#include file="connectdb.asp"--><%
FormSize = Request.TotalBytes '得到数据
FormData = Request.BinaryRead( FormSize )
function ImageUp(formsize,formdata) '这个函数的功能是截取其中的图像部分。
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
Image=ImageUp (FormSize,Formdata) '这里就是图像部分了。
if FormSize<>"" then
response.write "正在上传您的签名图片....<br>"
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM test where id is null"
rs.Open sql,conn,1,3
rs.AddNew '因为表单二在表单一提交的过程中下提交了。
rs("images").appendchunk Image '所以这里是添加。
rs.Update
rs.Close
set rs=nothing
conn.close
set conn=nothing
response.write "签名图片上传结束!<br>"
end if%>
textprocess.asp主要代码:
<!--#include file="connectdb.asp"-->
<%
set rs2=server.CreateObject("adodb.recordset")
rs2.open "select top 1 * from test order by id desc",conn,1,3
rs2("testtext")=request("testtext")
rs2.update
rs2.close
set rs2=nothing%>
这里是显示图片的代码showimg.asp
<!--#include file="connectdb.asp"-->
<%
response.expires=0
response.buffer=true
response.clear
Response.ContentType = "image/*"
set rs=createobject("adodb.recordset")
sql="SELECT * FROM test where id=" & Request.QueryString("id")
rs.open sql,conn,1,1
Response.BinaryWrite rs("signature")
rs.close
set rs=nothing
conn.close
set conn=nothing%>
OK了,显示图片的地方只要写<img src="showimg.asp?id=相应的id">就可以了,这个我在win2K,sql2K下测试过的,没有问题的