Я использую приведенный ниже код, чтобы скопировать файл в сетевое расположение и сохранить информацию о файле в базе данных доступа.Переименование файлов при сохранении в местоположении
Dim SqlString1 As String = "INSERT INTO document (incidentid, documentno, documentname, documentpath) VALUES (@incid, @docid, @FileName, @FilePath)"
Using conn As New OleDbConnection(ConnString)
conn.Open()
If Me.TextBox1.Text <> "" Then
'THIS WILL SAVE THE FILE TO A LOCATION
Dim fileLocation As String = OpenFileDialog1.FileName
File.Copy(fileLocation, Path.Combine("\\10.1.10.5\NonConformance\Document\", Path.GetFileName(fileLocation)), True)
'THIS WILL SAVE A FILE PATH TO THE ACCESS DB
Using cmd As New OleDbCommand(SqlString1, conn)
'cmd.CommandType = CommandType.Text
cmd.Parameters.AddWithValue("@incid", doc1.Text)
cmd.Parameters.AddWithValue("@docid", doc2.Text)
cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(Me.OpenFileDialog1.FileName))
cmd.Parameters.AddWithValue("@FilePath", "\\10.1.10.5\NonConformance\Document\" & Path.GetFileName(Me.OpenFileDialog1.FileName))
cmd.ExecuteNonQuery()
conn.Close()
End Using
End If
conn.Close()
End Using
Я обеспокоен тем, что если пользователь загружает файл с таким же именем, как один уже в папке будет вызывать проблемы при попытке получить информацию на более поздний срок.
Так может кто-нибудь сказать мне, как переименовать файл при копировании его в сетевое расположение. В идеале я хотел бы переименовать его, чтобы быть @ incid_ @ параметры DocId
Возможно, вам также понадобится некоторая обработка ошибок, чтобы неправильно обрабатывать ошибки. –
На самом деле я бы переименовал файл. Единственный риск - проверка существующего файла, и у вас будет такая же проблема с копией, как с переименованием, если она существует, и вы можете проверить ее с помощью File.exists(). Thread on File Rename: http://stackoverflow.com/questions/19150333/how-to-rename-a-file-in-net – djangojazz
File.Copy должен копировать с собственным именем вместо переименования после. Вы можете посмотреть, существует ли имя файла и добавить к нему суффикс. Или просто добавьте временную метку ко всем файлам, так что вам даже не нужно искать, есть ли дубликат. Меня беспокоит, что вы устанавливаете переменную fileLocation, но вы не используете ее во второй раз! –