一个图片上传出错的问题,高分请教????

jin_007 2006-05-30 11:12:31
我是根据图片和数据分开来保存的,在每条记录都不删除都不会出错,可是删掉几条粉据后就会出现
一两次上传数据没传上,而图象传上了,再接下去又没问题了,请问大家会是什么问题??
我是用access做数据库的,下面是我
数据部份保存的原代码
<%
a2=request("a2")
a3=request("a3")
a4=request("a4")
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from qita "
rs.open sql,conn,3,2
rs.addnew
rs("data")=request("a1")
rs("leibie")=a2
rs("tell")=a3
rs("chengshi")=a4
rs.update
rs.close
response.redirect"../newf4.asp"
%>
图象部份保存
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp"-->

<%
FormSize = Request.TotalBytes
FormData = Request.BinaryRead(FormSize)
Image=ImageUp (FormSize,Formdata)
Set rs = Server.CreateObject("ADODB.Recordset")

sql="select top 1 * from cam order by id desc"
rs.open sql,conn,3,2
rs("image") = NULL
rs("image").appendchunk Image
rs.update
rs.close
response.redirect"../newe1.asp"
%>

<%
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
%>
...全文
159 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2006-05-31
  • 打赏
  • 举报
回复
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include virtual="/logon/dl_conn.asp"-->
<%
'/////////////////////////////
' /
' 车模图片上传处理脚本 /
' date:2006-05-29 /
' /
'/////////////////////////////

response.ContentType="image/gif"
response.expires=0
'目的:将二进制字符转换成普通字符
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag
skipflag=0
ccc = ""
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
skipflag=1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
bin2str = ccc
End Function
'目的:把表单中的图象数据分离出来
'其中参数formsize为表单数据大小,formdata为表单的总数据
Function ImageUp(formsize,formdata)
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1) 'formdata第一个bncrlf左边的数据
datastart=instrb(formdata,bncrlf & bncrlf)+4 '两个bncrlf右边的数据的起始位
dataend=instrb(datastart+1,formdata,divider)-datastart
Imageup=midb(formdata,datastart,dataend)
End Function
'目的:把表单中的变量值取出
'其中参数varName为要寻找的字段变量,strTXT为已从图象中分离出来的的所有文本


FormSize = Request.TotalBytes
FormData = Request.BinaryRead( FormSize )

carriage=chrb(13)&chrb(10)
spliter=leftb(formdata,instrb(formdata,carriage)-1)
n1=instrb(formdata,carriage&carriage)+2
n2=instrb(n1,formdata,spliter)
txtB=midb(formdata,n1,n2-n1)
title=bin2str(txtB)
formdata=midb(formdata,n2)


Image = ImageUp(FormSize,Formdata)



on Error resume Next
'建立数据集,储存数据到数据库中
set rs=server.CreateObject("adodb.recordset")
model_sql = "select * from vdo_automodel"
rs.open model_sql,db_conn,1,3
rs.addnew
rs("pic").appendchunk image
rs("title")=title
rs.update
rs.close
set rs=nothing

if Err.number=0 then
alert("图片上传成功!")
go_to("upload.shtml")
else
alert(Err.number)
end if
db_conn.close
set db_conn=nothing
%>

==============
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
function showImagePanel(img)
{
var preview=document.getElementById("preview");
preview.innerHTML="<img src=\""+img+"\" />";
}
</script>
</head>
<body>
<table width="66%" border="0" cellspacing="0" cellpadding="0">
<form action="uploadfile.asp" method="post" enctype="multipart/form-data">
<tr>
<td width="29%">图片标题</td>
<td width="71%"><input type="text" name="title" /></td>
</tr>
<tr>
<td>选择上传路径</td>
<td><input type="file" value="" name="Model" onchange="showImagePanel(this.value)"/></td>
</tr>
<tr>
<td height="**">本地预览</td>
<td height="**"><span id="preview"></span></td>
</tr>
<tr>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="43%" height="30" align="center"><input type="submit" name="Submit" value="提交" /></td>
<td width="57%" height="30" align="left"><input type="reset" name="Submit2" value="重置" /></td>
</tr>
</table></td>
</tr>
</form>
</table>
</body>
</html>
=====
这个是我改的同时上传的,仅供参考
feijunjun 2006-05-31
  • 打赏
  • 举报
回复
无组件现在很泛滥了, 为啥还要一个个劲往数据库里存呢? 数据库买卖费用也高, 太浪费了..
mrwang2000 2006-05-31
  • 打赏
  • 举报
回复
个人意见,仅供参考

问题有可能出在对这两个功能模块的调用上,而不是模块本身

28,402

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧