Сохранение вложенного файла в папке при поиске и запись его пути в БД? - PullRequest
0 голосов
/ 26 октября 2011

Я хотел бы сохранить вложение файла в папку на веб-сайте.

Мой код, который создает вложение в сообщение электронной почты, выглядит следующим образом:

' Attachments
If Not (FileUpload1.FileName = "") Then
    Dim myattachment1 As New Net.Mail.Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.PostedFile.FileName)
    message.Attachments.Add(myattachment1)
End If

Я хотел бы сохранитьвложения в «C: \ DotNetNuke5 \ Portals \ 6 \ JobApplicationDocuments» на сервере.Затем я хотел бы сохранить путь к файлу в столбце БД под названием «вложение».

Мне нужна помощь или что-то, что я могу искать в Google, поскольку я новичок в этом.Спасибо

Редактировать: Теперь у меня есть этот код:

If Not (FileUpload1.FileName = "") Then
    Dim myattachment1 As New Net.Mail.Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.PostedFile.FileName)
    message.Attachments.Add(myattachment1)

    Dim savePath As String = "C:\DotNetNuke5\Portals\6\JobApplicationDocuments\"
    If (FileUpload1.HasFile) Then
        savePath += FileUpload1.FileName
    End If

End If

Но я не могу его сохранить в каталоге.

Ответы [ 2 ]

1 голос
/ 27 октября 2011
    ' Attachments
        If Not (FileUpload1.FileName = "") Then
            Dim myattachment1 As New Net.Mail.Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.PostedFile.FileName)
            message.Attachments.Add(myattachment1)

            'file path
            Dim savePath As String = "C:\DotNetNuke5\Portals\6\JobApplicationDocuments\"
            'check if control has file
            If (FileUpload1.HasFile) Then

                'append the applicants email address and the fileupload file name to avoid overwritting same file names.
                savePath += TxtEmail.Text + "-" + FileUpload1.FileName

                'attempted to do date time append but unsuccessfull
                'String.Format("{0}-{1: dd-M-yy}", FileUpload1.FileName, DateTime.Now)

                'save the file to its path
                FileUpload1.SaveAs(savePath)

                'open the connection to the database
                Dim connectionString As String = "Data Source=192.168.1.0\SQLExpress;Initial Catalog=DNN;User ID=DNNAdmin;Password=password;"
                Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)

                'insert the data
                Dim queryString As String = "INSERT INTO [tblJobApplication] ([message], [email], [attachment]) VALUES (@message, @email, @attachment)"
                Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)

                'set the parameters
                sqlCommand.Parameters.Add("@message", System.Data.SqlDbType.NVarChar).Value = message.Body
                sqlCommand.Parameters.Add("@email", System.Data.SqlDbType.NVarChar).Value = TxtEmail.Text
                sqlCommand.Parameters.Add("@attachment", System.Data.SqlDbType.NVarChar).Value = savePath

                Dim rowsAffected As Integer = 0
                sqlConnection.Open()
                Try
                    rowsAffected = sqlCommand.ExecuteNonQuery
                Finally
                    sqlConnection.Close()
                End Try


                ' Send the message
                Dim smtp As System.Net.Mail.SmtpClient = New Net.Mail.SmtpClient()
                smtp.Host = "localhost"
                smtp.Send(message)
                Response.Redirect("applicationcompleted2.htm#top")
            End If
            Return


        End If

    End If

Выше мое решение. Спасибо

Я добавляю адрес электронной почты пользователя из формы к вложенному файлу, чтобы он не загружал пользователя cv.doc и не перезаписывал кого-либо еще cv.doc. Также сохраняется путь к базе данных.

1 голос
/ 27 октября 2011

Сохранить загруженный файл, используя этот код:

        Dim savePath = "C:\DotNetNuke5\Portals\6\JobApplicationDocuments\"

        Dim uploadedFileName = System.IO.Path.GetFileName(input.FileName)

        savePath += uploadedFileName

        Try

        FileUpload1.PostedFile.SaveAs(savePath)

        Catch ex As Exception

        'error. do something

        End Try
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...