我已经通过使用
从我服务器上的目录中的文件填充列表框了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目录索引