“无法打开文件以供阅读”将PDF从存储附加到可邮寄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“无法打开文件以供阅读”将PDF从存储附加到可邮寄相关的知识,希望对你有一定的参考价值。
你好,我现在有问题
我正在执行“将PDF自动附加到电子邮件页面”。它的工作原理是每行都有一个电子邮件按钮,单击该按钮后,用户将被重定向到根据ID自动附加存储在存储文件夹中的PDF的页面。我试图使PDF失效,它以乱码显示PDF文件的内容,如果在PDF文件上进行dieump,我认为这是正常的。但是,我不断收到错误消息“无法打开文件进行读取”。这是我的代码:
控制器:
public function sendToCompany(Request $request)
$filename = request('attachedLetter');
$letter = \Storage::get('public/coverLetter/'.$filename);
$data = array(
'email' => request('company_email'),
'subject' => request('email_subject'),
'message' => request('email_message'),
'attachedLetter' => $letter
);
\Mail::to($data['email'])->send(new SendEmailToCompany($data['subject'], $data['message'], $data['attachedLetter']));
可邮寄:
public $content;
// public $attach;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($subject, $content, $files)
$this->subject = $subject;
$this->content = $content;
$this->attach = $files;
/**
* Build the message.
*
* @return $this
*/
public function build()
$file = $this->attach;
dd($file);
return $this->markdown('email.emailToCompany')->attach($file);
任何帮助将不胜感激。谢谢!
答案
attach
方法需要文件路径,而不是文件内容。如果要从存储中附加文件,可以使用attachFromStorage
。如果要附加原始数据(文件内容),则可以尝试使用attachData
方法。
Laravel 6.x Docs - Mail - Writing Mailables - Attachments
以上是关于“无法打开文件以供阅读”将PDF从存储附加到可邮寄的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Vuetify v-menu 附加到可滚动列表中的父元素?