VB - 将响应保存为二进制

VB - save response as binary

请查看用于将响应作为字符串保存到 resultData 变量的部分代码:

Using response As WebResponse = request.GetResponse()
Dim responseStream As IO.Stream = response.GetResponseStream()
Dim sr As New IO.StreamReader(responseStream)
resultData = sr.ReadToEnd()

它工作正常。

我遇到过一个输出是二进制文件的情况。我如何修改此代码以将响应保存为二进制 ResultData 变量?

提前感谢您的支持。

有很多方法可以做到这一点。这个,就是其中之一。 (这个帮助你也显示进度) 但是(作为建议)要监控进度,存在更好的方法,如异步方法等。 在下面的示例中,我将向您展示如何将 WebRequest 保存为二进制数据。 请注意,我是基于你的代码和你想要的,但是,正如我之前所说,存在不同的更好方法。

       'here the file you want to save
        Dim LocalFilePath As String = "C:\Users\MyUser\Documents\FolderXYZ\yourfileName.extension"

        Using reader As IO.Stream = request.GetResponse.GetResponseStream
            Using writer As IO.Stream = New IO.FileStream(LocalFilePath, IO.FileMode.OpenOrCreate, IO.FileAccess.ReadWrite)
                Dim b(1024 * 2) As Byte
                Dim buffer As Integer = b.Length
                Do While buffer <> 0
                    buffer = reader.Read(b, 0, b.Length)
                    writer.Write(b, 0, buffer)
                    writer.Flush()
                Loop
            End Using
        End Using