这个问题我刚刚前两天做过,呵呵(会不会加入精华区)

发表于:2007-06-30来源:作者:点击数: 标签:
例表test idint IDENTITY (1, 1) NOT NULL ; testtext ntext; imagesimage; 提交文件里的表单如下设置: form method=post action=upload.asp name=form1 enctype=multipart/form-data target=_blank 图:input type=file name=file1/form form method=post act
例表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下测试过的,没有问题的

原文转自:http://www.ltesting.net