下面是一个可以将数据作为文件下载到本地计算机并保存为对话框的 ASP.NET MVC 示例代码:
public ActionResult DownloadFile()
{
// 获取要下载的数据
byte[] data = GetFileData();
// 设置要下载的文件名
string fileName = "example.txt";
// 将数据写入到响应流中
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.Headers.Add("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.BinaryWrite(data);
Response.End();
return Content("File downloaded successfully");
}
在上面的示例代码中,GetFileData()
方法是用于获取要下载的数据的自定义方法。你可以根据自己的需求替换该方法来获取实际的数据。
在控制器的 DownloadFile()
方法中,首先获取要下载的数据,并设置要下载的文件名为 "example.txt"。然后,通过设置响应的内容类型为 "application/octet-stream",将文件名添加到响应头中,并将数据以二进制形式写入响应流中。最后,通过调用 Response.End()
方法结束响应。
当用户访问该控制器的 DownloadFile()
方法时,浏览器会自动下载并保存文件,而不是在浏览器中打开文件。
请注意,上述代码中使用的 Response
对象是 ASP.NET MVC 中的 Controller
类的一个属性,用于处理响应。确保你在控制器中正确引用了 System.Web.Mvc
命名空间。