VB.NET-“;无法访问已关闭的文件";尝试读取文件内容时
这是我的表单代码 我正在尝试读取文件的内容,以便能够将其作为blob存储在DB中VB.NET-“;无法访问已关闭的文件";尝试读取文件内容时,vb.net,visual-studio,Vb.net,Visual Studio,这是我的表单代码 我正在尝试读取文件的内容,以便能够将其作为blob存储在DB中 Try Dim fs = New FileStream(TextBox1.Text, FileMode.Open, FileAccess.Read) Dim rawData = New Byte(fs.Length) {} fs.Read(rawData, 0, fs.Length) fs.Close() ' Get File
Try
Dim fs = New FileStream(TextBox1.Text, FileMode.Open, FileAccess.Read)
Dim rawData = New Byte(fs.Length) {}
fs.Read(rawData, 0, fs.Length)
fs.Close()
' Get File size
Dim filesize As Long = fs.Length
' Get Extension
Dim extension As String = Path.GetExtension(TextBox1.Text)
'SQL query
Dim cmdText = "INSERT INTO files VALUES (file_id, @fname, @content, @size, @ext, @comments, @vers, @auth);"
'commit SQL query with connection statement
Dim com As New MySqlCommand(cmdText, con)
'place fields into parameters for the query
com.Parameters.AddWithValue("@fname", filename.Text)
com.Parameters.AddWithValue("@content", rawData)
com.Parameters.AddWithValue("@size", filesize)
com.Parameters.AddWithValue("@ext", extension)
com.Parameters.AddWithValue("@comments", comments.Text)
com.Parameters.AddWithValue("@vers", version.Text)
com.Parameters.AddWithValue("@auth", home.userid.Text)
'this will commit the record to the DB
con.Close()
con.Open()
com.ExecuteNonQuery()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
如下面的链接所示,如果文件已关闭或正在关闭,Length属性可以引发IOException 您正在访问关闭文件后的长度。只需按如下所示翻转它们
' Get File size
Dim filesize As Long = fs.Length
fs.Close()
你能把所有的例外都放进去吗。我猜这是fs.Length访问后的密切责任例外这是正确的!愚蠢的错误!谢谢你,酷。。。也将其添加为答案;)