C# 将通过 url 访问的文件的内容读入字节数组

C# read content of a file accessed via url into byte-array

我的公司正在使用 Sharepoint 上的 Excel 文件 (xlsx)。对于我的应用程序,我需要文件的 content 作为字节数组。

当位于我的本地计算机上时,我会使用 System.IO.File.ReadAllBytes(path)

如何对托管在服务器上的文件执行相同的操作? url 类似于 "https://sharepoint.com/excel.xlsx"

我试过 new WebClient().DownloadData(url) 但是这个 returns 有一些不同的东西我不能用。我认为它 returns 文件本身的字节数组而不是文件的内容。

有什么想法吗?

而不是 WebClient,试试 HttpClient:

using (var client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync("https://sharepoint.com/excel.xlsx"))
{
    byte[] fileContents = await response.Content.ReadAsByteArrayAsync();
}