Link to home
Start Free TrialLog in
Avatar of Victor  Charles
Victor CharlesFlag for United States of America

asked on

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
Avatar of Nasir Razzaq
Nasir Razzaq
Flag of United Kingdom of Great Britain and Northern Ireland image

To rename a file, you need to use the File.Move function by supplying it the old and new names.
Avatar of Victor  Charles

ASKER

I will try to figure it out and get back to you tomorrow.

Thanks,

V.
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
ASKER CERTIFIED SOLUTION
Avatar of Nasir Razzaq
Nasir Razzaq
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank You!