微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从服务器 C# 下载 Excel 文件

如何解决从服务器 C# 下载 Excel 文件

我正在 ASP.NET Core MVC 站点的 Hangfire 后台作业中生成一个 Excel 文件

我在从我的网站正确下载 excel 文件时遇到了一些问题。当我尝试在本地主机上运行时下载该文件时,它完全正常。代码发布后,我尝试在实时版本上使用该功能,但无法下载文件

string previewName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + content + " - " + Guid.NewGuid() + ".xlsx";
File.copy(sourceFileName,previewName);

我最初写了这个,以为我可以将文件下载到客户的“我的文档”文件夹中。我了解到情况并非如此,因为 Environment.GetFolderpath 获取服务器计算机而不是客户端的文件夹路径。由于文件托管在服务器上,我如何将该文件下载到客户端的计算机上?

解决方法

尝试使用 WebClient 从站点下载文件。

using System.Net;

string URL = "https://server.com/files/file.txt";
var FilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + content + " - " + Guid.NewGuid() + ".xlsx");

WebClient Client = new WebClient();
Client.DownloadFile(URL,FilePath);
,

如果它是您谈论的控制器而不是复制您可以通过返回控制器中的文件直接下载

return File(yourFilePath);

或者您可以将文件作为字节读取然后返回

bytes[] bytesFile = File.ReadAllBytes(path);
return File(bytesFile);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。