c# api接口直接弹出下载文件,给出范例
时间: 2024-11-13 18:40:53 浏览: 7
C#webapi文件上传下载源码
3星 · 编辑精心推荐
在C#中,如果你有一个API接口返回文件数据,你可以使用`FileStream`、`MemoryStream`或者`HttpWebResponse`来创建一个下载流,然后让用户选择保存到本地。这里是一个简单的示例,假设你已经有了一个返回二进制数据(如文件内容)的HTTP GET API:
```csharp
using System;
using System.IO;
using System.Net.Http;
public static void DownloadFile(string apiUrl, string fileName)
{
try
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(apiUrl);
// 检查请求是否成功
if (response.IsSuccessStatusCode)
{
byte[] fileBytes = await response.Content.ReadAsByteArrayAsync();
// 创建并设置下载路径
string downloadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fileName);
// 创建FileStream
using (FileStream stream = File.Create(downloadPath))
{
stream.Write(fileBytes, 0, fileBytes.Length);
Console.WriteLine($"Download complete! The file is saved at {downloadPath}");
}
}
else
{
Console.WriteLine($"Failed to download file. Status code: {response.StatusCode}");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred during the download: {ex.Message}");
}
}
// 调用这个方法时,传入你的API URL和要下载的文件名
DownloadFile("https://your-api.com/download/file", "example_file.pdf");
```
这段代码首先发送GET请求到指定的API URL获取文件数据,然后将其写入到本地的一个新文件中。如果API请求失败,它会打印错误信息。
阅读全文