barryvdh / laravel-dompdf

A DOMPDF Wrapper for Laravel
MIT License
6.57k stars 965 forks source link

open() argument #1 ($filename) must not contain any null bytes #1030

Open MyNameIsDVL opened 5 months ago

MyNameIsDVL commented 5 months ago

This is my Service

use Barryvdh\DomPDF\Facade\Pdf;

class PdfService
{
    public function __construct()
    {}

    public static function voucher(Voucher $voucher)
    {
        $data = [
            'total_amount' => $voucher->amount,
            'code' => $voucher->code
        ];

        return Pdf::loadView('pdf.voucher', $data)->stream('voucher_'.$voucher->code.'.pdf');
    }
}

My markdown mail:

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $attachments = array();
        foreach ($this->vouchers as $voucher) {
            array_push($attachments, PdfService::voucher($voucher));
        }
        return $this->markdown('mail.voucher', ['vouchers'=>$this->vouchers])->subject('Oto Twój voucher')->attachMany($attachments);
    }

What am I doing wrong? Thanks

parallels999 commented 5 months ago

Seems like argument #1 ($filename) contains null bytes 😄😄

Also you are adding Response class to attachMany, you must attach only the output

->attachData($pdf->output(), 'voucher_'.$voucher->code.'.pdf')