laravel - Laravel 7 - 将多个文件附加到 Mailables
问题描述
如何将多个文件附加到 laravel 7 mailable?错误:路径不能为空
我已经在堆栈上搜索了文档以及各种搜索词,但无济于事。任何帮助将不胜感激。
myController 和存储文件
public function imageSave($filex,$destination){
$ext=$filex->getClientOriginalExtension();
$name = $filex->getClientOriginalName();
$mainFilename =$name.'_'.time().'.'.$ext;
$filex->move($destination, $mainFilename);
return $mainFilename;
}
public function store(Request $request)
{
$this -> validertor( $request , [
'rip' => 'required' ,
'rip. *' => 'mimes: jpeg, png, jpg, gif, svg | max: 2048',
'filep' => 'required' ,
'filep. *' => 'mimes: jpeg, png, jpg, gif, svg | max: 2048',
'fishea' => 'required' ,
'fishea. *' => 'mimes: jpeg, png, jpg, gif, svg | max: 2048'
]);
$data[] = [
'filep' => $request->filep->getRealPath(),
[
'mime' => $request->filep->getClientMimeType(),
'as' => $request->filep->getClientOriginalName()
],
'rip' => $request->rip->getRealPath(),
[
'mime' => $request->rip->getClientMimeType(),
'as' => $request->rip->getClientOriginalName()
],
'fishea' => $request->fishea->getRealPath(),
[
'mime' => $request->fishea->getClientMimeType(),
'as' => $request->fishea->getClientOriginalName()
],
];
if ($request->hasFile('filep') && $request->hasFile('rip') && $request->hasFile('fishea')) {
$filep = $this->imageSave($request->filep,'uploads/cin/');
$rip = $this->imageSave($request->rip,'uploads/rip/');
$fishea = $this->imageSave($request->fishea,'uploads/anthropo/');
// Required validation
$contact = new Contact();
$contact->name = $request->name;
$contact->adresse = $request->adresse;
$contact->ville = $request->ville;
$contact->num = $request->num;
$contact->filep = $filep;
$contact->rip = $rip;
$contact->fishea = $fishea;
}
$admin_email = 'contact@admin_email.com';
Mail::to($admin_email)->send(new SendMailP($data));
session()->flash('success', 'Thank you! ');
$contact ->save();
return redirect('contact');
}
private function validertor(Request $request, array $array)
{
}
}
在 SendMai 中添加 dd($data[]) 时
public function build()
{
dd($this->data);
$data = $this->data;
$mail = $this->subject('[organisation]' . " " . " Sujet «" . "»")
->markdown('frontend.contact.mail.contact-form', compact('data'));
// $attachments is an array with file paths of attachments
foreach($data as $filePath => $fileParameters){
$mail->attach($filePath, $fileParameters);
}
return $mail;
}
}
构建方法中的 dd($this->data):
array:1 [▼
0 => array:6 [▼
"filep" => "C:\wamp64\tmp\php71B9.tmp"
0 => array:2 [▼
"mime" => "image/png"
"as" => "crm.png"
]
"rip" => "C:\wamp64\tmp\php71BA.tmp"
1 => array:2 [▼
"mime" => "image/png"
"as" => "logo-1.png"
]
"fishea" => "C:\wamp64\tmp\php71BB.tmp"
2 => array:2 [▼
"mime" => "image/png"
"as" => "smartphone-1.png"
]
]
]
解决方案
推荐阅读
- javascript - ctrl + p vs window.print() 为什么它在设计中表现出尊重?
- c# - 如何访问 C# 面板中动态添加的用户控件的控件?
- javascript - Javascript - 条件语句的检查顺序是什么
- javascript - 通过javascript在组织结构图中绘制垂直节点
- ios - IOS-Swift、CarbonKit回击时,图标还在pager上停留了一段时间,如何让它们立即消失
- c - 是否有 C 的静态代码检查器可以标记缺少互斥锁解锁?
- r - R ggplot 在图形上显示文本以响应特定输入
- c# - 如何返回任务
>? - azure - 使用 azure python/java sdk 在 IoT 中心创建 azure IoT 设备
- testflight - TestFlight 公共链接不接受新的 beta 测试人员