Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到图像或类型未知(使用tinymce和dompdf在pdf中显示tinymce textarea中存储的html)_Php_Jquery_Laravel_Tinymce_Dompdf - Fatal编程技术网

Php 找不到图像或类型未知(使用tinymce和dompdf在pdf中显示tinymce textarea中存储的html)

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

我使用tinymce和图像上传,使用的软件包是“laravel tinymce simple imageupload”。当用户在文本区域中输入一些内容并单击表单提交按钮时,我想将文本区域中的内容放入pdf文件中。我有下面的代码

问题是,在pdf文件中,如果在文本区域中插入图像,则图像不会显示在pdf中,并且在pdf中显示“未找到图像或键入未知”

你知道会有什么问题吗

图像按如下方式存储在certificates表的content列中:

<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文本区域中选择一个图像。如何更改该图像的绝对路径。

这是一个报告的问题:

建议你:

  • 将相对URL设置为true(这将把图像设置为
    img/image\u 15zdbr.jpeg
    ,并且
  • 设置
    $dompdf->setBasePath($base\u path)
    其中$base\u path是文件所在的位置。()
  • 使用聊天室中的突出部分进行编辑:

  • 当您使用Laravel的包装器时,您需要获得domPDF类的句柄,您将通过
    $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
    • 这与
      /home/john/projects/proj/public/img/image.jpeg
      =Bingo相同

    如果这不起作用,请调整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();
        }
    });