从Web应用程序VB.NET打开文件

时间:2015-07-10 17:27:17

标签: vb.net web

我目前正在尝试通过从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上运行它时工作正常但是当我将它发布到服务器时它不会打开文件。

2 个答案:

答案 0 :(得分:2)

System.Diagnostics.Process.Start(selectedPath)将在运行Web应用程序的计算机上打开该文件;换句话说,它在本地运行时在本地计算机上打开它,但在部署时在服务器上打开。这只是不起作用。

请参阅ASP.Net Download file to client browser

答案 1 :(得分:1)

如果您正在从Web应用程序访问文件,则打开文件的用户身份不是登录到您应用程序的用户身份。它是运行IIS应用程序池的用户。这是需要授予您的共享驱动器权限的用户。

此问题有许多解决方案,包括更改运行应用程序池的上下文或使文件本地化。