从 url 读取 pdf 文件到字节数组

发布于 2024-12-09 05:20:41 字数 199 浏览 0 评论 0原文

在 XML WebResponse 中,我得到一个 URL 标记,其中包含 PDF 文件的链接。 URL 值的示例为:https://www.member-data.com/files/hb/c8955fc4d6160ec0fd87f4879c6496d3.pdf)。我必须将此 PDF 转换为字节数组,如何在 C# 中执行此操作?

In an XML WebResponse I get a URL tag which has a link to a PDF file. Example of the URL value is: https://www.member-data.com/files/hb/c8955fc4d6160ec0fd87f4879c6496d3.pdf). I have to convert this PDF to a byte array, how do I do this in C#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

淡淡的优雅 2024-12-16 05:20:41

您可以使用WebClient.DownloadData,它具有字节数组的默认返回值。例如

byte[] bytes = myClient.DownloadData("https://www.member-data.com/files/hb/c8955fc4d6160ec0fd87f4879c6496d3.pdf");

另外,这假设您想要字节数组中的实际文件,而不是 PDF 的内容(文本)。那完全是另一个蜡球。

You can use WebClient.DownloadData, which has a default return value of a byte array. e.g.

byte[] bytes = myClient.DownloadData("https://www.member-data.com/files/hb/c8955fc4d6160ec0fd87f4879c6496d3.pdf");

Also, this assumes that you want the actual file in a byte array, not the content (text) of the PDF. That's a whole other ball of wax.

如歌彻婉言 2024-12-16 05:20:41

WebClient 已过时。请改用 HttpClient:

string url = "requested/api/url/endpoint"

HttpClient client = new();
client.GetByteArrayAsync(url);

GetByteArrayAsync 是可等待的,因此您的方法应该是异步任务:

internal async Task<byte[]?> ReadFile()
{
   string url = "requested/api/url/endpoint"

   using HttpClient client = new();
   return client.GetByteArrayAsync(url);
}

不要忘记释放 HttpClient。

WebClient is obsolete. Use HttpClient instead:

string url = "requested/api/url/endpoint"

HttpClient client = new();
client.GetByteArrayAsync(url);

The GetByteArrayAsync is awaitable, so your method should be an async Task:

internal async Task<byte[]?> ReadFile()
{
   string url = "requested/api/url/endpoint"

   using HttpClient client = new();
   return client.GetByteArrayAsync(url);
}

Don't forget to dispose the HttpClient.

薯片软お妹 2024-12-16 05:20:41

要将 PDF 转换为字节数组,请使用 System.IO 命名空间中的静态方法 ReadAllBytes

To convert a PDF to a byte array use the static method ReadAllBytes in the System.IO namespace

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文