我有以下问题,我想从某个链接使用C#下载.xlsx文件。我正在使用的链接看起来有点像这样:“https://xxxxx/run?app=prc/prcStart.jsp&cmd=show&project_id=PRCPROJECT102151491224824986”。当我在浏览器中输入此链接时,它会自动将一个.xlsx文件下载到我的下载文件夹中。我需要做什么来编写一个C#程序,从一个链接下载这个文件,一旦输入就会自动开始下载?我真的不知道从这里开始。
jgwigjjp1#
您可以使用HttpClient来处理向远程服务器发出的请求,然后需要处理响应以将内容保存到某个文件中。最简单的形式如下:
using(var client = new HttpClient()) { var response = await client.GetByteArrayAsync("http://some-address"); File.WriteAllBytes("Downloadedfile.xlsx", response); }
这将创建一个新的HttpClient示例,向URL发出一个GET请求,并将请求内容作为byte[]返回(因为xlsx文件是重命名的.zip文件)。如果您想将文件专门保存到Downloads文件夹,这有点棘手,因为似乎没有一种内置的方法可以完全从.NET托管代码实现这一点。请参见this answer,以获得返回到Win32 API获取此信息的示例。
HttpClient
GET
byte[]
Downloads
1条答案
按热度按时间jgwigjjp1#
您可以使用HttpClient来处理向远程服务器发出的请求,然后需要处理响应以将内容保存到某个文件中。
最简单的形式如下:
这将创建一个新的
HttpClient
示例,向URL发出一个GET
请求,并将请求内容作为byte[]
返回(因为xlsx文件是重命名的.zip文件)。如果您想将文件专门保存到
Downloads
文件夹,这有点棘手,因为似乎没有一种内置的方法可以完全从.NET托管代码实现这一点。请参见this answer,以获得返回到Win32 API获取此信息的示例。