Для классического asp сначала необходимо загрузить файл в виде двоичных данных:
Dim binaryData
Для загрузки загруженного файла в двоичном виде просто Google, и вы получите множество решений для классического asp. Вы можете перейти на: http://www.planet -source-code.com / vb / scripts / ShowCode.asp ? txtCodeId = 7361 & lngWId = 4
Если перейти по вышеуказанной ссылке, она должна быть:
Dim binaryData = objUpload("File1").BLOB & ChrB(0)
После этого вам не нужно хранить двоичные данные в базе данных. Просто создайте объект набора записей, как показано ниже:
set rset = server.createobject("ADODB.RECORDSET")
rset.fields.append "FileName", 205, LenB(binaryData)
rset.open
rset.addnew
rset.fields(0).AppendChunk binaryData
Затем вы можете создать объект сообщения CDO и выполнить следующие действия:
Set myMail=CreateObject("CDO.Message")
'//your mail code here
myMail.Configuration.Fields.Update
binaryData = rset.fields("FileName").value
Const cdoContentDisposition = "urn:schemas:mailheader:content-disposition"
Const cdoBase64 = "base64"
Dim attach : Set attach = myMail.Attachments.Add
attach.ContentMediaType = "application/octet-stream"
attach.ContentTransferEncoding = cdoBase64
'//Here I am just attaching an jpeg image file with fixed name 'myimage.jpg'
attach.Fields(cdoContentDisposition).Value="attachment;filename=""myimage.jpg"""
attach.Fields.Update
Dim oStreamOutput: Set oStreamOutput = attach.GetDecodedContentStream
oStreamOutput.Write binData
oStreamOutput.Flush
myMail.Send
set myMail=nothing
Таким образом, вам не нужно хранить загруженный файл в базе данных или на серверном пространстве. Вы можете просто прикрепить файл на лету. Надеюсь, это поможет.