如何从下载链接获取二进制数据

Posted

技术标签:

【中文标题】如何从下载链接获取二进制数据【英文标题】:How to get the binary data from a download link 【发布时间】:2011-02-07 07:21:11 【问题描述】:

我需要获取下载链接的二进制数据。

当我在浏览器中运行此链接时,它总是会启动下载管理器。相反,我想复制该二进制文件并将其显示在浏览器上。这怎么可能用任何语言。

Objective c 或 c# 首选。

谢谢

【问题讨论】:

我不确定你想要什么,在浏览器上显示二进制文件或使用程序下载它,然后再在浏览器或其他东西中显示它? 【参考方案1】:

使用WebClient 类,您可以对给定的 url 执行 HTTP 请求并检索结果:

using (var client = new WebClient())

    byte[] data = client.DownloadData("http://example.com/foo");
    // Do something with the binary data

【讨论】:

【参考方案2】:

您要下载什么?例如,要将 PDF 直接显示到浏览器,您可以执行以下操作:

var data = HoweverYouAreLoadingYourByteArray();
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=MyFile.pdf");
Response.BinaryWrite(data);
Response.Flush();
Response.Close();

只要确保为尝试推送到浏览器的任何类型的二进制文件设置正确的内容类型即可。

【讨论】:

以上是关于如何从下载链接获取二进制数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 管理界面中链接以直接从数据库中下载模型字段

如何将二进制数据嵌入/链接到 Windows 模块中

从音频脉冲中获取二进制数据

从 OKHTTP 下载二进制文件

当 sink 是二进制数据集时,源必须是二进制

如何在 JavaScript ajax 调用中从 PHP passthru 获取二进制数据?