无组件图文混合上传,MSSQL & Access

来源: 作者: 2007-11-20 出处:pcdog.com

access  iis  sql server  数据库  
  以下代码没有规范,还有些功能没完成,有那位高手能把它修改一下,封装成类则更是造福大众,或者以后有时间我会做的。有任何错误或建议请一定要给我发E-mail:sobina@21cn.com,谢谢。
  好了,少说多做,本示例在w2kServer,IIS5,SQL SERVER7中测试通过。
    如有不明白的可到精华区查“图象”或“图片”关键字找到答案,或写信给我。
  示例一共有三个文件:upload.htm(上传界面)
                        process.ASP(处理程序)
                        showimg.ASP(显示图象)
    数据库:在pubs数据库中建立一个新表名为imgtest
        字段名    类型                 长度
-----------------------------------------------------
           id          int                 (自动编号)
           img         iamge(Access为OLE)
           imginfo     nchar                50

    以下是三个文件的代码:

upload.htm
---------------------------------------------------------------------
<HTML>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/HTML; charset=gb2312">
<style type="text/CSS">
<!--
td {  font-size: 9pt}
a {  color: #000000; text-decoration: none}
a:hover {  text-decoration: underline}
.tx {  height: 16px; width: 30px; border-color: black black #000000; border-top-width: 0px;

border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt;

background-color: #eeeeee; color: #0000FF}
.bt {  font-size: 9pt; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px;

border-left-width: 0px; height: 16px; width: 80px; background-color: #eeeeee; cursor: hand}
.tx1 { height: 20px; width: 30px; font-size: 9pt; border: 1px solid; border-color: black black

#000000; color: #0000FF}
-->
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="process.ASP" enctype="multipart/form-data" >
  <table width="71%" border="1" cellspacing="0" cellpadding="5" align="center"

bordercolordark="#CCCCCC" bordercolorlight="#000000">
    <tr bgcolor="#CCCCCC">
      <td height="22" align="left" valign="middle" bgcolor="#CCCCCC"> Sobina
        的图文上传界面</td>
    </tr>
    <tr align="left" valign="middle" bgcolor="#eeeeee">
      <td bgcolor="#eeeeee"> <br>
      </td>
    </tr>
    <tr align="center" valign="middle">
      <td align="left" id="upid" height="122">
        <p>图象路径:
          <input type="file" name="img" style="width:400" class="tx1" value="">
        </p>
        <p>图象说明:
          <input type="text" name="imginfo">
        </p>
      </td>
    </tr>
    <tr align="center" valign="middle" bgcolor="#eeeeee">
      <td bgcolor="#eeeeee" height="2">
        <input type="submit" name="Submit" value="· 提交 ·" class="bt">
        <input type="reset" name="Submit2" value="· 重置 ·" class="bt">
      </td>
    </tr>
  </table>
</form>
</body>
</HTML>
------------------------------------------------------------------------
process.ASP
------------------------------------------------------------------------
<!--#include file="../bin/strCnn.ASP"-->
<%
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

'目的:把表单中的变量值取出

上一篇:通过ASP,想ACCESS数据库中建立相应表
下一篇:用 ADO 创建 Access 数据库