我目前正在尝试通过从sql数据库中检索文件路径来打开我的Web应用程序上的文件
这是我的代码,当我双击列表框中的索引时将打开该文件。
Protected Sub userdoubleClick()
Dim selectedPath As String
Try
fileConnection.Open()
selectedFile = FileListBox.SelectedValue
'takes the selected items from the listbox and searches the database for the file
'and will open the file for the user
fileCommand.CommandText = "SELECT filePath FROM ImportedFiles WHERE FileName = '" & selectedFile & "'"
fileDataReader = fileCommand.ExecuteReader
Do While fileDataReader.Read
selectedPath = fileDataReader.GetValue(0)
Loop
System.Diagnostics.Process.Start(selectedPath)
Catch ex As Exception
End Try
fileConnection.Close()
End Sub
当我在我的本地PC上运行它时工作正常但是当我将它发布到服务器时它不会打开文件。
答案 0 :(得分:2)
System.Diagnostics.Process.Start(selectedPath)
将在运行Web应用程序的计算机上打开该文件;换句话说,它在本地运行时在本地计算机上打开它,但在部署时在服务器上打开。这只是不起作用。
答案 1 :(得分:1)
如果您正在从Web应用程序访问文件,则打开文件的用户身份不是登录到您应用程序的用户身份。它是运行IIS应用程序池的用户。这是需要授予您的共享驱动器权限的用户。
此问题有许多解决方案,包括更改运行应用程序池的上下文或使文件本地化。