如何下载字节数组



因此,使用vb.net,我从服务器检索用户希望下载的文件的字节数据。我一直知道文件名和扩展名是什么,但我不知道如何开始下载字节数据和正确的文件格式。我是怎么做到的?

编辑:为了澄清,我已经在代码中检索到字节格式的数据,我只需要将其下载为正确的文件类型,这也是已知的。我一直将文件的URL隐藏起来,这样它就永远不会被公开。

如果您想直接将文件下载到硬盘驱动器,最简单的解决方案是使用WebClient.DownloadFile。MSDN页面包含一个很好的例子。

如果要将文件放入字节数组而不是磁盘上的文件,请使用WebClient.DownloadData:

Dim myWebClient As New WebClient()
Dim myByteArray = myWebClient.DownloadData("http://...")

同样,可以在MSDN页面上找到一个更大的示例。

如果您希望程序在下载时保持响应,请查看这些方法的异步版本。


编辑:我仍然很难理解你的情况,但如果你已经有了一个字节数组,并且只想将其写入磁盘中,你可以使用File.WriteAllBytes:

File.WriteAllBytes("C:mypathmyfile.bin", myByteArray)

好吧,我想明白了。使用BinaryWrite和其他响应函数(如AddHeader和ContentType),我就可以工作了。GetMimeType是我创建的一个函数。以下代码:

Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName)
Response.ContentType = GetMimeType(FileName)
Response.BinaryWrite(data)
Response.End()
Response.Flush()

感谢那些试图提供帮助的人!

最新更新