ASP.Net获取外部网站目录和存储在列表框中的内容?

时间:2016-02-03 21:31:23

标签: c# asp.net vb.net listbox uri

我已经通过使用

从我服务器上的目录中的文件填充列表框了
Dim diFiles As DirectoryInfo = New DirectoryInfo(Server.MapPath("~/pdfs/"))

然后使用

将它们插入到lstFiles中
lstFiles.DatasSource = diFiles.GetFiles("*.pdf")

最后使用

将它们输入新的列表框
For Each fri In lstFiles.DataSource
    ListBox1.Items.Add(fri.ToString)
Next

但是现在我需要使用外部网站目录做同样的事情,但是当我尝试通过server.mapPath(“http://example.com/pdfdirectory/”)输入外部服务器目录时,它给了我一个例外,即URI不是在DirectoryInfo中有效。

我试过了

For Each f In Directory.GetFiles("http://example.com/pdfdirectory/") 'put your directory path here
        Try
            ListBox1.Items.Add(File.ReadAllLines(f)(0)) 'Read the first line of each file
        Catch ex As ArgumentNullException
            ListBox1.Items.Add("[NO DATA]")   'If no Data catch Error 
        Catch ex As IndexOutOfRangeException
            ListBox1.Items.Add("[NO DATA]")   'If no Data catch Error
        End Try
    Next

但是上面给了我一个URI例外。

我尝试的最后一件事是WebRequest,但我不知道如何将目录放入列表框。

Dim request = DirectCast(WebRequest.Create("http://www.example.com/pdfdirectory/"), HttpWebRequest)
    Dim response = DirectCast(request.GetResponse(), HttpWebResponse)

    Using reader = New StreamReader(response.GetResponseStream())
        Dim body As String = reader.ReadToEnd()
    End Using

我不想先下载文件。我只希望列表框文本是外部服务器上的文件名。

我应该提到服务器已经有可供查看的目录文件。带有PDF列表的/ pdf目录索引

0 个答案:

没有答案