作为标题的问题。
我想要一个单击它的按钮将下载pdf文件,其中文件存储在另一个Intranet服务器中。
我尝试使用以下代码从其他Intranet的文件中下载pdf文件。
Response.Clear()
Response.ContentType = "application/pdf"
Response.AppendHeader("Content-Disposition", "attachment; filename=Test.pdf")
Response.BinaryWrite(System.IO.File.ReadAllBytes("\\intranetServer\Test.pdf"))
Response.End()
我不知道代码的问题或其他什么?
也许IIS需要设置配置?
我不知道要实现它。
答案 0 :(得分:0)
如何使用 My.Computer.Network.DownloadFile
例如你可以这样做:
My.Computer.Network.DownloadFile("\\intranetServer\Test.pdf","Path\Folder\file.pdf")
否则您可以使用 System.Net.WebClient
这将让您跟踪进度并获得更多控制权:
Dim wc As System.Net.WebClient
wc = New System.Net.WebClient()
wc.DownloadFileAsync(New Uri("\\intranetServer\Test.pdf";), "Path\Folder\file.pdf")
PS:我不确定您可能需要的内联网URI的结构Net.Tcp://
如果您想保留您的解决方案,请尝试使用此功能并记住您需要确保所有人都可以看到IIS并正确构建Uri可能需要使用 file:// !
Private Sub WriteFile(filepath As String, fileName As String, contentType As String, response As HttpResponse)
response.Buffer = True
response.Clear()
response.ContentType = contentType
response.Charset = "iso-8859-1"
response.HeaderEncoding = System.Text.Encoding.GetEncoding("iso-8859-1")
Dim extension As String = System.IO.Path.GetExtension(fileName)
response.AddHeader("content-disposition", Convert.ToString("attachment; filename=") & fileName)
response.WriteFile(filepath)
response.Flush()
End Sub