以下是一个将文件下载到文件夹中的示例代码:
[HttpGet("[action]")]
public async Task DownloadFile()
{
string filePath = "path_to_file"; // 文件路径
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filePath, FileMode.Open))
{
await stream.CopyToAsync(memoryStream);
}
memoryStream.Position = 0;
string fileName = Path.GetFileName(filePath); // 获取文件名
// 设置响应头以提供下载
return File(memoryStream, "application/octet-stream", fileName);
}
在上述示例中,我们首先从文件路径中创建一个FileStream
对象,并将其复制到一个MemoryStream
中。然后,我们将MemoryStream
的位置设置为0,以确保整个文件内容都可供下载。
接下来,我们使用Path.GetFileName
方法获取文件名。最后,我们使用File
方法返回一个FileResult
对象,该对象可作为文件下载的响应。
要使用此代码,您需要将filePath
变量设置为您想要下载的文件的路径。请注意,您需要在控制器中引入using System.IO
命名空间。