提问人:Brian Jaikens 提问时间:10/19/2023 更新时间:10/19/2023 访问量:9
为什么我的基本 .Net 7 Razorpage 应用在使用 PhysicalFile 下载文件时退出?
Why does my basic .Net 7 Razorpage app exit when downloading a file using PhysicalFile?
问:
我正在尝试使用 Visual Studio 2022 和 c# 中的 .net 7 下载一个简单的文本文件。但是,当文件下载时,应用程序会退出。它为什么要这样做?
我使用 Visual Studio 2022 创建了一个应用。不是预览版。我使用的是 .Net 7,没有身份验证。我在“wwwroot”文件夹中创建了一个名为“tempfiles”的文件夹,该文件夹中有一个名为“test.txt”的文本文件,其中包含“测试文件”字样。
我在“Index.cshtml”中有以下内容。
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<form method="post" asp-page="/Index">
<button type="submit" class="btn btn-primary" asp-page-handler="DownloadFile">Test Download</button>
</form>
</div>
在文件“Index.cshtml.cs”中是。
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace Basic_Web_App.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
private readonly IWebHostEnvironment _environment;
public IndexModel(ILogger<IndexModel> logger,
IWebHostEnvironment environment)
{
_logger = logger;
_environment = environment;
}
public void OnGet()
{
}
public IActionResult OnPostDownloadFile()
{
const string testFile = "test.txt";
string rootPath = _environment.WebRootPath + "\\tempfiles\\";
string filePath = System.IO.Path.Combine(rootPath, testFile);
return PhysicalFile(filePath, "text/plain", testFile);
}
}
}
我运行该应用程序并单击下载按钮。它下载文件,浏览器询问我想要什么文件名,并建议“test.txt”。一个我选择好的。该文件已添加到我的下载中。但问题是应用程序退出了。在控制台中,未报告错误。只是应用程序已以 -1 退出。为什么应用程序会关闭?
答: 暂无答案
评论