我正在将 Laravel 应用程序移动到 Laravel api,并且我有一个在 Laravel 应用程序中使用 TCPDF 创建 pdf 的功能,它可以正常工作,没有任何问题,但是当我尝试将此功能移动到 api 时,我收到了几个错误。
pdf 空(这不应该发生)
pdf 没有名称(似乎是)
//laravel controller code:
$filename = $odp_volumetrica->codigo . ' L ' . $odp_volumetrica->lote . '.pdf';
$filename = str_replace(' ', '_', $filename);
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Access-Control-Allow-Origin: *');
$pdf->Output($filename, 'I');
//react client code:
authorizedRequest
.get('/odps/13/printCoa')
.then(({ data }) => {
const blob = new Blob([data], { type: 'application/pdf' });
window.open(URL.createObjectURL(blob));
})
.catch((error) => {
console.log(error);
});
我想知道是否有办法返回这些 pdf 并在浏览器的新选项卡中打开它们,如果可能的话,其名称不是随机字符串。
你尝试过吗?
const link = document.createElement('a');
link.download = 'your-name.pdf';
link.href = URL.createObjectURL(blob));
link.click();