准备工作:
假设上传界面仅有一个字段,即图片。那么后台将该图片存储到数据库中去的处理代码示例如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option Explicit
Session.CodePage = 65001
%>
<!--#include file="../ClassModule/CFormDataGetter.asp"-->
<!--#include file="../ClassModule/CImage.asp"-->
<!--#include file="../ClassModule/CDatabase.asp"-->
<%
Dim form, image
Set form = New CFormDataGetter
Set image = New CImage
If form.FormSize > 0 Then
image.CFile2Image form.GetFile("image")
Response.Write "<p>image.ImageType = " & image.ImageType & "</p>"
Response.Write "<p>image.ImageVersion = " & image.ImageVersion & "</p>"
Response.Write "<p>image.ImageWidth = " & image.ImageWidth & "</p>"
Dim db, lState, sInfo
Const sDBUID = ""
Const sDBPWD = ""
Set db = New CDatabase
lState = db.Connect2Access(Server.MapPath("MyDeskCity.mdb"), sDBUID, sDBPWD)
If lState = 0 Then
Response.Write "数据库连接失败!"
Else
' 存储图片到数据库
Dim cmd, sSQL
sSQL = "Insert Into MyDeskCity (Image, ImageWidth, ImageHeight, ImageType) Values (?, " & Clng(image.ImageWidth) & ", " & CLng(image.ImageHeight) & ", '" & image.ImageType & "')"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = db.oConn
cmd.CommandText = sSQL
cmd.Parameters.Append cmd.CreateParameter("@Image", 205, 1, image.Size)
cmd("@Image").AppendChunk image.BinaryStream
cmd.Execute
End If
db.Disconnect
Set db = Nothing
If Err.Number = 0 Then
sInfo = "上传图片成功!"
Else
sInfo = "上传图片失败!"
End If
Else
sInfo = "没有选择图片"
End If
Session("ssnsInfo") = sInfo
Response.Redirect Request.ServerVariables("HTTP_REFERER")
%>