如何使用ASPxFileManager 'SelectedFiles'属性将文件附加到邮件?



我使用的是DevExpress工具,特别是FileManager,它有一个"SelectedFiles"属性,返回(添加、插入、删除、检索、修改记录)所需的所有数据。然而,我不知道如何使用所选的文件作为MailMessage.Attachment。下面的代码可以发送电子邮件,为了安全起见,我已经更改了凭据和主机值。我只需要一些指导或思考如何使用通过"SelectedFiles"生成的FileManager集合,并将它们作为附件添加到电子邮件中。如果可能的话,我真的很想压缩文件,但在这一点上,简单地附加它们就可以了。有什么想法吗?

   Dim fileManager As ASPxFileManager = TryCast(sender, ASPxFileManager)
    If ASPxFileManager1.SelectedFiles IsNot Nothing AndAlso ASPxFileManager1.SelectedFiles.Length > 0 Then
        For i As Integer = 0 To ASPxFileManager1.SelectedFiles.Length - 1
            Dim file = ASPxFileManager1.SelectedFiles.ToString
            Dim attachments As New Attachment(fileManager.SelectedFiles.ToString)???
        Next
    End If
    Try
        Dim mail As New MailMessage("noreply", DropDownEdit.Text)
        Dim smtp_Server As New SmtpClient("host") With {.Credentials = New Net.NetworkCredential("username", "password")}
        mail.Subject = "SUBJECT"
        mail.IsBodyHtml = False
        mail.Body = "Testing"
        smtp_Server.Send(mail)
        successLabel.Text = "Your email was sent successfully."
    Catch ex As Exception
    End Try
End Sub
                Dim attachments As New Attachment(ReadFile(ASPxFileManager1.SelectedFiles(i)), file)
                mail.Attachments.Add(attachments)

需要以下函数来读取字节,然后将项目附加到MailMessage。

Public Function ReadFile(file__1 As FileManagerFile) As System.IO.Stream
    'This function allows us to pull the bytes from the DB value to render the file.
    Dim filePath As String = (file__1.RelativeName)
    Dim fileData As Byte()
    Using con As New SqlConnection([Global].conn)
        Dim sqlCmd As New SqlCommand()
        sqlCmd.Connection = con
        sqlCmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = file__1.Name
        sqlCmd.Parameters.Add("@APIKey", SqlDbType.Int).Value = Session("_UserAPIKey")
        sqlCmd.CommandText = "SELECT STATEMENT"
        con.Open()
        Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader()
        If sqlReader.HasRows Then
            While sqlReader.Read()
                fileData = CType(sqlReader(0), Byte())
            End While
        End If
    End Using
    Return New MemoryStream(fileData)
End Function

相关内容

  • 没有找到相关文章

最新更新