Php 找不到图像或类型未知(使用tinymce和dompdf在pdf中显示tinymce textarea中存储的html)
我使用tinymce和图像上传,使用的软件包是“laravel tinymce simple imageupload”。当用户在文本区域中输入一些内容并单击表单提交按钮时,我想将文本区域中的内容放入pdf文件中。我有下面的代码 问题是,在pdf文件中,如果在文本区域中插入图像,则图像不会显示在pdf中,并且在pdf中显示“未找到图像或键入未知” 你知道会有什么问题吗 图像按如下方式存储在certificates表的content列中:Php 找不到图像或类型未知(使用tinymce和dompdf在pdf中显示tinymce textarea中存储的html),php,jquery,laravel,tinymce,dompdf,Php,Jquery,Laravel,Tinymce,Dompdf,我使用tinymce和图像上传,使用的软件包是“laravel tinymce simple imageupload”。当用户在文本区域中输入一些内容并单击表单提交按钮时,我想将文本区域中的内容放入pdf文件中。我有下面的代码 问题是,在pdf文件中,如果在文本区域中插入图像,则图像不会显示在pdf中,并且在pdf中显示“未找到图像或键入未知” 你知道会有什么问题吗 图像按如下方式存储在certificates表的content列中: <p>test<img src="/img
<p>test<img src="/img/image_15zdbBr.jpeg" alt="" width="1200" height="900" /></p>
Tinymce代码的相对URL为false:
tinymce.init({
selector:'textarea',
plugins: 'image code link',
relative_urls: false,
file_browser_callback: function(field_name, url, type, win) {
// trigger file upload form
if (type == 'image') $('#formUpload input').click();
}
});
我已经使用了“setOptions(['isHtml5ParserEnabled'=>true,'isRemoteEnabled'=>true]),但也不能使用它,它显示了相同的错误
似乎问题可能是因为需要更改图像的url路径。但是我不知道怎么做,因为用户只在tinymce文本区域中选择一个图像。如何更改该图像的绝对路径。这是一个报告的问题:
建议你:
img/image\u 15zdbr.jpeg
,并且$dompdf->setBasePath($base\u path)
其中$base\u path是文件所在的位置。()$pdf->getDomPDF()->setBasePath();
。/../../image/file.jpg
,这意味着“从“基本目录开始,返回一个,返回一个,进入img/,查找文件”。所以“基本目录”需要位于文件之前,以适应您要返回的事实- 您的实际文件位于
/home/john/projects/proj/public/img/image.jpeg
- 相对文件路径(提供)=
。/../../img/image.jpeg
- 因此,您可以配置setBasedirectory=
/home/john/projects/proj/public/a/b/c/
- 这将为您提供
/home/john/projects/proj/public/a/b/c/../../../../../img/image.jpeg
- 这与
/home/john/projects/proj/public/a/b/../../img/image.jpeg
- 这与
/home/john/projects/proj/public/a/./img/image.jpeg
- 这与
=Bingo相同/home/john/projects/proj/public/img/image.jpeg
如果这不起作用,请调整setBaseDirectory,直到找到正确的路径。尝试用绝对uri替换代码,如
test
谢谢,您知道在哪里更改代码,在包的哪个文件中吗?它不是文件或包,它应该在您传递的内容中。如果url路径不起作用,请尝试使用absolute路径。谢谢,但我正在使用tinymce,只需单击浏览图像按钮并选择图像,那么如何更改图像的url路径呢?-请查看此文档。您将在此处获得答案。谢谢,但它显示为“调用未定义的方法Barryvdh\DomPDF\PDF::setBasePath()”,并带有“$PDF=app()->make”('dompdf.wrapper');$pdf->setBasePath(“);”。您需要传递:$pdf->getDomPDF()->setBasePath(“proj.test/img/”)
谢谢,图像像“abbb”一样存储在数据库中。但仍然出现相同的错误。我还将tinymce插件代码改为“relative\u url:true”,而不是“相对URL:false”。您将使用错误的基本路径(它应该以/
开头,例如/var/www/html/uploads
)。要提供帮助,您需要返回一个目录(到img
),文件image\u 1531443\u yn7tazcb82uogho07eictkbjh98r.jpeg的完整路径(在操作系统目录中)是什么然后沿着另一棵树备份三个目录-任何树-因此基本路径实际上是img文件夹之前的一个目录。有点伤脑筋-但是你会到达那里。所以你的基本路径应该是/home/YourUser/projects/proj/public/find/other/directory/
,假设~is/home/YourUser
(所以把它设置成应该的样子)。希望这是有意义的?你想从“公共”中减去三个;任何三个——哪一个都不重要。
tinymce.init({
selector:'textarea',
plugins: 'image code link',
relative_urls: false,
file_browser_callback: function(field_name, url, type, win) {
// trigger file upload form
if (type == 'image') $('#formUpload input').click();
}
});