我正在迁移Web服务器并重写一些应用程序(vb.net环境)。在这样做的过程中,我遇到了一个困境,非常感谢一些帮助。
我可以成功地从数据库中提取.pdf文件并显示它:
#define
我可以成功发送带有文件附件的电子邮件:
Dim iID As Integer
Dim bPDF As Byte()
iID = Convert.ToInt32(Request.QueryString("Id"))
bPDF = CodeMod.GetPdfBytes(iID)
Response.ContentType = "application/pdf"
Response.OutputStream.Write(bPDF, 0, bPDF.Length)
---------------------------------
Public Function GetPdfBytes(ByVal id As Int32) As Byte()
Dim SQLcon As New SqlClient.SqlConnection
Dim SQLcmd As New SqlClient.SqlCommand
Dim dt As New DataTable
SQLcon.ConnectionString = sConnection("pdfStore")
SQLcmd.CommandText = "[DOIMSQL,1433].[DOI_PDF_Storage].dbo.sel_pdf_id"
SQLcmd.CommandType = CommandType.StoredProcedure
SQLcmd.Parameters.Add("@pdf_id", SqlDbType.VarChar).Value = id
SQLcmd.Connection = SQLcon
SQLcon.Open()
dt.Load(SQLcmd.ExecuteReader)
SQLcon.Close()
GetPdfBytes = DirectCast(dt.Rows(0)("pdf_file"), Byte())
End Function
我需要做的就是结合这两种能力。我需要从数据库中检索.pdf并将其作为电子邮件附件发送...
...无需将文件写入文件结构。
答案 0 :(得分:0)
如果我做对了,你可以将PDF写入内存流并直接从内存流中创建附件。关于如何从内存流中附加
存在一个独立的问题