如何解决文件下载不提示在ASP.NET Core中下载
我一直在努力获取要下载的pdf文件到我的应用程序中。我想我做对了所有事情,代码执行成功并且没有错误,但是仍然没有下载提示。
我创建了一个新项目来尝试相同的代码,并且运行顺利并提示下载。
一段时间后,我决定离开该应用程序,然后回到应用程序中进行其他操作。 我实现了另一个文件下载,该文件也不起作用。在这一点上,我觉得肯定有问题,但是我无法弄清楚。
第一种下载方法。 在这里,我将HTML字符串转换为pdf并将其下载到系统中。 我正在使用同步融合,
public IActionResult ExportToPDF(string htmlContent)
{
//Initialize HTML to PDF converter
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter(HtmlRenderingEngine.WebKit);
WebKitConverterSettings settings = new WebKitConverterSettings();
//Set WebKit path
settings.WebKitPath = Path.Combine(_webHostEnvironment.ContentRootPath,"QtBinariesWindows");
//Assign WebKit settings to HTML converter
htmlConverter.ConverterSettings = settings;
//HTML string and Base URL
string htmlText = htmlContent;
string baseUrl = Path.Combine(_webHostEnvironment.ContentRootPath,"img");
PdfDocument document = htmlConverter.Convert(htmlText,baseUrl);
MemoryStream stream = new MemoryStream();
document.Save(stream);
return File(stream.ToArray(),System.Net.Mime.MediaTypeNames.Application.Pdf,"HtmlOutput.pdf");
}
第二个在这里 用这种方法,我在www文件夹中有一个文件夹。它是一个样本。我希望用户下载示例文件
public async Task<IActionResult> DownloadSampleFile()
{
// Since this is just and example,I am using a local file located inside wwwroot
var path = Path.Combine(_hostingEnvironment.WebrootPath,"FC_Customer.xlsx");
var memory = new MemoryStream();
using (var stream = new FileStream(path,FileMode.Open))
{
await stream.copyToAsync(memory);
}
memory.Position = 0;
var ext = Path.GetExtension(path).ToLowerInvariant();
return File(memory,GetMimeTypes()[ext],Path.GetFileName(path));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。