我使用以下代码将文件复制到网络位置,并将文件信息存储在访问数据库中。
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参数
答案 0 :(得分:0)
我最终改变了
Path.GetFileName(fileLocation))
要阅读的元素
Path.GetFileName("INC" & Label6.Text & "DOC" & doc2.Text & ".pdf")
这将为我解决问题,感谢您的回复。