我正在使用DinkToPdf库在.NET Core 2.2/Angular应用程序上创建pdf文件。在本地主机上对其进行测试没有问题,但发布的版本返回 400 Bad 请求。我使用授权令牌和其他参数调用控制器的 Print(( 方法。正如我所说,在调试时一切正常。
[Authorize]
[Route("api/[controller]")]
public class ExpenseController : Controller
{
private IConverter _converter;
public ExpenseController(IConverter converter)
{
_converter = converter;
}
[HttpPost("[action]")]
public IActionResult Print()
{
// IMPLEMENTATION
var pdf = new HtmlToPdfDocument()
{
GlobalSettings = globalSettings,
Objects = { objectSettings }
};
var file = _converter.Convert(pdf);
return File(file, "application/pdf", "Expense Report.pdf");
}
}
任何帮助都非常感谢!
该问题是由缺少 dll 的蹩脚库产生的。答案可在此链接中找到我已经复制了libwkhtmltox.dll并在根项目中 libwkhtmltox.so 并将CopyToOutputDirectory属性设置为"Copy Always"。