Asp.net core Can';t流PDF文件(.net core 2.0)
有几天我不知道如何解决我的问题 我需要返回基于ID动态生成的用户PDF文档。我用于此NReco.PdfGenerator.LT。当我直接从VS2017运行一个项目时,一切正常,文件被下载。但是,如果我在IIS服务器上发布一个项目,然后尝试单击该按钮,将打开一个不存在的页面(HTTP错误404) 按钮:Asp.net core Can';t流PDF文件(.net core 2.0),asp.net-core,Asp.net Core,有几天我不知道如何解决我的问题 我需要返回基于ID动态生成的用户PDF文档。我用于此NReco.PdfGenerator.LT。当我直接从VS2017运行一个项目时,一切正常,文件被下载。但是,如果我在IIS服务器上发布一个项目,然后尝试单击该按钮,将打开一个不存在的页面(HTTP错误404) 按钮: <a asp-controller="Dokumenty" asp-action="PobierzPotwierdzenieDokPdf" asp-route-DokID="@item.Do
<a asp-controller="Dokumenty" asp-action="PobierzPotwierdzenieDokPdf" asp-route-DokID="@item.Dok_DokID" class="btn btn-warning btn-sm"><i class="glyphicon glyphicon-print" title="Drukuj PDF"></i></a>
public async Task<FileResult> PobierzPotwierdzenieDokPdf(int DokID)
{
var dokument = _context.Dokumenty.FirstOrDefault(i => i.Dok_DokID == DokID);
var notatki = _context.DokumentyNotatki.Where(d => d.DokNot_DokID == DokID);
viewDokumentPotwierdzeniePdf viewDokumentPotwierdzeniePdf = new viewDokumentPotwierdzeniePdf()
{
Dokument = dokument,
DokumentNotatka = notatki
};
var htmlContent = await _viewRenderService.RenderToStringAsync("Dokumenty/DokumentPotwierdzeniePdf", viewDokumentPotwierdzeniePdf);
var htmlToPdf = new HtmlToPdfConverter
{
PageHeight = 210,
PageWidth = 148,
Margins = new PageMargins() { Bottom = 5, Left = 5, Right = 5, Top = 5 },
Orientation = PageOrientation.Landscape,
PageFooterHtml = "<div style='font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 10px; text-align: center; color: grey;'>Strona <span class='page'></span> z <span class='topage'></span> | Operator drukujący: " + HttpContext.Session.GetString("Ope_Nazwisko") + " | Data wydruku: " + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " | <b>System ERP Polimer</b></div>"
};
htmlToPdf.License.SetLicenseKey("PDF_Generator_Bin_Examples_Pack_0000000000", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
htmlToPdf.PdfToolPath = @"C:\Program Files\wkhtmltopdf\bin\";
byte[] pdfBytes = htmlToPdf.GeneratePdf(htmlContent);
FileResult fileResult = new FileContentResult(pdfBytes, "application/pdf")
{
FileDownloadName = dokument.Dok_NrKancelaryjny.Replace("/", "_") + ".pdf"
};
dokument.Dok_Wydruk = 1;
_context.Entry(dokument).State = EntityState.Modified;
await _context.SaveChangesAsync();
return fileResult;
}
其中末尾的数字是ID。但该页实际上不存在
请帮忙。我做错了什么?
另外,对不起我的英文:)没人知道?我猜“页面不存在”意味着你得到404/找不到,这似乎是部署配置问题。您是否尝试再添加一个控制器方法来返回一些无关紧要的结果(例如,一些字符串)并检查您是否能够在生产服务器上访问它?没有人知道?我猜“页面不存在”意味着您得到404/未找到,这似乎是部署配置问题。您是否尝试再添加一个控制器方法来返回一些无关紧要的结果(例如,一些字符串),并检查您是否能够在生产服务器上访问它?