使用经典 asp 在 Oracle 中保存和读取图像

Saving and Reading Images in Oracle with classic asp

我正在利用 aspSmartUpload 将图像上传到 Oracle BLOB 字段,见下文:

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

    '*** Upload Files ***'
        mySmartUpload.Upload
        set file = mySmartUpload.Files("file1")
        Set MyConn  = Server.CreateObject("ADODB.Connection") 
        Call OpenConnect(MyConn)
          sql = "SELECT attach_data, title, idx, attach_type_id FROM c_attachment"
          Set Rs = Server.CreateObject("ADODB.recordset")
          Set rs.ActiveConnection = MyConn
          rs.Source = sql
          rs.CursorLocation = 3
          rs.CursorType = 0
          rs.LockType = 3
          rs.Open sql

If not file.IsMissing Then 'Check for missing file
            'Add the current file in database
            Rs.AddNew
            file.FileToField Rs.Fields("attach_data")
            Rs("title") = "title test"
            rs("idx") = "134774"
            rs("attach_type_id") = 1
            Rs.Update
             rs.Close
            set rs = nothing
        End If

当我检查数据库时 table。 attach_data 已填充。现在。当我尝试读回图像时,我不断在 BinaryWrite 上收到 "Response object: 007~ASP 0106~Type Mismatch~An unhandled data type was encountered." 错误。请帮忙!

Set MyConn  = Server.CreateObject("ADODB.Connection") 
        Call OpenConnect(MyConn)
            SQLQuery = "select attach_data,title from c_attachment where attach_id = 109"
            Set RSList = MyConn.Execute(SQLQuery)
            If RSList.EOF Then
               blnImgExists = False
            Else
                        FileData = RSList("attach_data")
               blnImgExists = true
            End If
          if blnImgExists Then


   Response.Clear 
   Response.ContentType = "image/jpeg"
   Response.AddHeader "Content-disposition", "attachment; filename=image.jpg"
   Response.BinaryWrite RSList("attach_data")
   else
   response.write "count not open"
   end if

图像在 Oracle 中应存储为 BLOB 数据(二进制大对象),而不是 CLOB(字符大对象)。