如何重命名上传的文件?

时间:2012-02-26 15:05:34

标签: asp.net vb.net file-upload

我使用VB后台代码在ASP.NET中创建了一个表单。 我的问题是我想把表格上传到的文件 改为“Resemey.doc”而不是例如“012 MaraCSD.doc”

进行了一些研究,发现我需要在我的vb代码中添加一些代码。 但找不到什么,放在哪里。

这是我的代码:

'Add the namespace for the email-related classes
Imports System.Net.Mail

Partial Class SendAttachment    
    Inherits System.Web.UI.Page   

    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@gmail.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) & "פרטים אישיים" & (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
        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

任何想法?

1 个答案:

答案 0 :(得分:3)

您应该能够使用PostedFile的SaveAs方法并将其保存为您想要的任何名称..

http://msdn.microsoft.com/en-us/library/system.web.httppostedfile.saveas.aspx