asp.net vb表单附件问题



我制作了一个表单,允许客户端下载多(4)个附件。问题是,当表格发送到我的电子邮件时,我会收到4个附件即使客户端只上传了1个附件。如果他上传了一个附件我把剩下的作为"noname"文件。我该怎么修?

这是我的后台代码(VB):

Imports System.Net.Mail
Partial Class SendAttachment
    Inherits System.Web.UI.Page

    Protected Sub DL1_SelectedIndexChanged(sender As Object, e As EventArgs)
    If DropDownList1.SelectedItem.Text = "אחר" Then
        q1.Visible = True  
        Else
                q1.Visible= False  
    End If
If DropDownList1.SelectedItem.Text = "אחר" Then
       q22.Visible = True
        Else
          q22.Visible= False 
    End If
End Sub
    Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
        'Make sure a file has been uploaded

     If String.IsNullOrEmpty(AttachmentFile.FileName) OrElse AttachmentFile.PostedFile Is Nothing Then
            Throw New ApplicationException("לא העלאת קבצים.")
        End If
if AttachmentFile.PostedFile.ContentLength >600000 then
'display error file size should be less than 100kb
end if



        '!!! UPDATE THIS VALUE TO YOUR EMAIL ADDRESS
        Const ToAddress As String = "pelleg@shakuff.co.il"
        dim textMsg as String
   textMsg ="שאלות סינון" &
 (vbCrLf)  & (vbCrLf)  & (vbCrLf)  & question1.text & (vbCrLf)  & q1.text & 
(vbCrLf) & (vbCrLf) & question2.text & (vbCrLf) & q2.text & 
(vbCrLf) & (vbCrLf) & question3.text & (vbCrLf) &q3.text & 
(vbCrLf) & (vbCrLf) & "ממליצים" & (vbCrLf) & c1.text & (Space(5)) & c2.text & (Space(5)) & c3.text & (vbCrLf) &
 (vbCrLf) & question4.text & (vbCrLf) & q5.text & (vbCrLf) &
 (vbCrLf) & question5.text & (vbCrLf) & q6.text & (vbCrLf) &
"------------------------------------------------------------------------------------------------" &
 (vbCrLf) & "פרטים אישיים" & (vbCrLf) & 
(vbCrLf) & "שם מלא" & (vbCrLf) & pi1.text & (vbCrLf) &
 (vbCrLf) & "כתובת מייל" & (vbCrLf) & UsersEmail.Text & (vbCrLf) &
 (vbCrLf) & "טלפון" & (vbCrLf) & pi2.text & (vbCrLf) & 
(vbCrLf) &"שעות נוחות" & (vbCrLf) & pi3.text & (vbCrLf) & 
(vbCrLf) & (vbCrLf) & "הערות"  & 
(vbCrLf)  & body.text & (vbCrLf) & 
(vbCrLf) & "מעוניין בהצעות נוספות" & (vbCrLf) & q4.text 
 '

        '(1) Create the MailMessage instance
        Dim mm As New MailMessage(UsersEmail.Text, ToAddress)
        '(2) Assign the MailMessage's properties
        mm.Subject = Subject.text &  "-" & pi1.text
        mm.Body = textMsg
        mm.IsBodyHtml = false
        'Attach the file
        AttachmentFile.PostedFile.InputStream.Position = 0  
        mm.Attachments.Add(New Attachment(AttachmentFile.PostedFile.InputStream, AttachmentFile.FileName))
        mm.Attachments.Add(New Attachment(AttachmentFile2.PostedFile.InputStream, AttachmentFile2.FileName))

        '(3) Create the SmtpClient object
        Dim smtp As New SmtpClient
        '(4) Send the MailMessage (will use the Web.config settings)
        smtp.Send(mm)
        'Show the EmailSentForm Panel and hide the EmailForm Panel
        EmailSentForm.Visible = True
        EmailForm.Visible = False
    End Sub
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            'On the first page load, hide the EmailSentForm Panel
            EmailSentForm.Visible = False
        End If
    End Sub
End Class

提前感谢!

这是因为您正在添加附件事件,尽管它不是使用mm.attachments.Add.上传的

在附加到电子邮件之前,您应该检查每个上传的文件

可以按以下方式进行if(AttachmentFile2.Hasfile)mm/Attachments.Add(新附件(AttachmentFile2.PostedFile.InputStream,AttachmentFile2.FileName))

相关内容

  • 没有找到相关文章

最新更新