-1

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

编辑:澄清一下,我已经在代码中以字节格式检索数据,我只需要将其下载为已知的正确文件类型。我一直隐藏文件的 URL,所以它永远不会暴露。

4

2 回答 2

2

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

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

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

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

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


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

File.WriteAllBytes("C:\my\path\myfile.bin", myByteArray)
于 2012-04-04T14:19:07.670 回答
0

好吧,我想通了。将 BinaryWrite 与 AddHeader 和 ContentType 等其他 Response 函数一起使用,我得到了它的工作。GetMimeType 是我制作的一个函数。下面的代码:

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

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

于 2012-04-05T12:32:59.573 回答