我在VB中编写了一个Windows窗体程序
在我的项目中,如果单击一个按钮,我想要显示保存在数据库中的文件(pdf或单词)。我使用此代码执行此操作,此代码工作正常。但是文件会复制到我项目的bin文件夹中。我希望这些文件只显示在屏幕上但不保存在任何地方。任何人都可以帮助我吗?
Try
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Dim size As Integer = 1024 * 1024
Dim buffer As Byte() = New Byte(size - 1) {}
Dim readBytes As Integer = 0
Dim index As Integer = 0
filename = dr("DocName")
Using fs As New FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None)
While (InlineAssignHelper(readBytes, CInt(dr.GetBytes(0, index, buffer, 0, size)))) > 0
fs.Write(buffer, 0, readBytes)
index += readBytes
End While
End Using
End While
End Using
Catch ex As Exception
Dim errMessageBox As New Puzzle.ErrorHandler
errMessageBox.ShowError("Err", "FrmCustomer:DbTools_GetAttachFile", "line", ex.Message)
Exit Sub
Finally
ConImage.Close()
End Try
End Using
Dim prc As New Process()
prc.StartInfo.FileName = filename
prc.Start()
答案 0 :(得分:1)
只需修改以下行即可。
'filename = dr("DocName") ' replace this line
filename = IO.Path.GetTempFileName ' with this
基本上,IO.Path.GetTempFileName
将在Windows Temp
文件夹中获取临时文件名。此文件夹用于保存临时文件,通常由各种磁盘清理工具自动清理,或者当您要求窗口回收浪费的空间时(通过磁盘清理程序)。
请注意,打开文件时需要相同的filename
。