我使用canvg将SVG转换为画布到图像然后vb.net客户端我将图像转换为bytearray()并将其保存到我服务器上的文件夹中,以便我可以通过电子邮件附加:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim path = Server.MapPath("PDFs\")
Dim fileNameWithPath As String = path + DateTime.Now.ToString().Replace("/", "-").Replace(" ", "-").Replace(":", "") + ".jpeg"
Dim fs As FileStream = New FileStream(fileNameWithPath, FileMode.Create)
Dim bw As BinaryWriter = New BinaryWriter(fs)
Dim ByteArray() As Byte = Convert.FromBase64String(hfChartImg.Value)
bw.Write(ByteArray)
bw.Close()
Dim file As String = fileNameWithPath
Dim message As New MailMessage()
message.From = New MailAddress("****************")
message.To.Add(New MailAddress("***************"))
message.Subject = "new image "
message.Body = "this is the apak chart img"
Dim data As New Attachment(file)
message.Attachments.Add(data)
Dim client As New SmtpClient()
client.Host = "smtp.gmail.com"
client.Credentials = New NetworkCredential("***************", "*******")
client.EnableSsl = True
client.Port = 587
client.Send(message)
End Sub
此代码工作正常并发送图像。
实际上我不需要将此图像保存到我的服务器中我只是想在不保存的情况下发送它,这就是我到目前为止所做的事情
Protected Sub emailSend_Click(ByVal sender As Object, ByVal e As EventArgs) Handles emailSend.Click
Dim customerChoice As String = DropDownList1.Text
Select Case customerChoice
Case "pdf"
MsgBox("select pdf ")
Case "image"
Dim imageFile As MemoryStream = New MemoryStream()
Dim bw As BinaryWriter = New BinaryWriter(imageFile)
Dim bytearray() As Byte = Convert.FromBase64String(hfChartImg.Value)
bw.Write(bytearray)
我离我想要的东西很远???
答案 0 :(得分:0)
你正在尝试写
Dim data As New Attachment(New MemoryStream(ByteArray), "SomeName")