Help with modifying file name before saving to folder.

Hello,

I am using the code below to modify the filename of an image and assign it to C1Image.text, how do I modify the code to also save the file to my application's folder with the same modified filename? For example image name I want to upload Image1.jpg
I need to save it as Image1_ManufactureNmae_Country.jpg to C1Image.text and also to my application's folder. Problem with the code is it is saving the original filename to my application's folder.

Dim DestinationPath As String = IO.Path.Combine(Application.StartupPath & "\Images", IO.Path.GetFileName(C1Image.Text))
        If IO.File.Exists(DestinationPath) Then
            If MessageBox.Show("Destination already exists!" & vbCrLf & vbCrLf & "File: " & DestinationPath, "Replace File?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                IO.File.Copy(C1Image.Text, DestinationPath, True)
            End If
        Else
            IO.File.Copy(C1Image.Text, DestinationPath)
        End If
        If C1Manufacturer.Text <> "" Then
            C1Image.Text = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName) & "_" & C1Manufacturer.Text & C1CountryOrigin.Text & System.IO.Path.GetExtension(OpenFileDialog1.FileName)
        End If
        If C1Manufacturer.Text = "" Or C1Manufacturer.Text = "Select/Enter" Then
            MsgBox("Manufacturer must be included before saving image")
        End If
        BtnSave.Enabled = False


Thanks,

Victor
vcharlesAsked:
Who is Participating?
 
CodeCruiserConnect With a Mentor Commented:
Change that line to

 IO.File.Copy(Application.StartupPath & "\Images\" & C1Image.Text, DestinationPath)
0
 
CodeCruiserCommented:
To rename a file, you need to use the File.Move function by supplying it the old and new names.
0
 
vcharlesAuthor Commented:
I will try to figure it out and get back to you tomorrow.

Thanks,

V.
0
 
vcharlesAuthor Commented:
Hi,

I managed to include the extension by moving

C1Image.Text = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName) & "_" & C1Manufacturer.Text & C1CountryOrigin.Text & System.IO.Path.GetExtension(OpenFileDialog1.FileName)

on top of the code.

 but now receiving the following error:

Conversion from string "Application.StartupPath & " to type 'Long' is not valid.

On line

 IO.File.Copy("Application.StartupPath & " \ "Images" \ " + C1Image.Text", DestinationPath)

code:

 C1Image.Text = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName) & "_" & C1Manufacturer.Text & C1CountryOrigin.Text & System.IO.Path.GetExtension(OpenFileDialog1.FileName)

Dim DestinationPath As String = IO.Path.Combine(Application.StartupPath & "\Images", IO.Path.GetFileName(C1Image.Text))
        If IO.File.Exists(DestinationPath) Then
            If MessageBox.Show("Destination already exists!" & vbCrLf & vbCrLf & "File: " & DestinationPath, "Replace File?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                IO.File.Copy(C1Image.Text, DestinationPath, True)
            End If
        Else
            IO.File.Copy(C1Image.Text, DestinationPath)
        End If
        If C1Manufacturer.Text <> "" Then
               End If
        If C1Manufacturer.Text = "" Or C1Manufacturer.Text = "Select/Enter" Then
            MsgBox("Manufacturer must be included before saving image")
        End If
        BtnSave.Enabled = False


How do I fix this error?

Thanks,

Victor
0
 
vcharlesAuthor Commented:
Thank You!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.