如何下载字节数组?

时间:2012-04-04 14:14:15

标签: vb.net download bytearray downloading

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

编辑:只是为了澄清,我已经在代码中以字节格式检索数据,我只需要将其下载为适当的文件类型,这也是已知的。我始终隐藏文件的URL,因此它永远不会暴露。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

如果您希望自己的程序在下载时保持响应,请查看这些方法的the asynchronous versions


编辑:我仍然很难理解你的情况,但你已经有一个字节数组而只是想把它写到磁盘,你可以使用File.WriteAllBytes

File.WriteAllBytes("C:\my\path\myfile.bin", myByteArray)

答案 1 :(得分:0)

好的,我明白了。将BinaryWrite与其他Response函数(如AddHeader和ContentType)一起使用,我得到了它的工作。 GetMimeType是我做的一个函数。代码如下:

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

感谢那些试图帮助的人!