我在论坛中读到了一个类似的主题,但它在我身上没有成功。我哪里犯了错误?
视图
<input type="file" class="" name="document">
发送
Mail::send([], [], function ($message) use ($request) {
$message->to($request->to);
$message->subject($request->subject);
$message->setBody($request->message);
$data = $request->document;
$message->attach($data['document']->getRealPath(), array(
'as' => $data['document']->getClientOriginalName(),
'mime' => $data['document']->getMimeType()));
我想以这种方式发送附件,但它没有。我需要先上传然后发送吗?
在官方 laravel's 文档中有一整节是关于请求中的文件的。
https://laravel.com/docs/7.x/requests#files
https://laravel.com/api/7.x/Illuminate/Http/UploadedFile.html
因此,根据上述文档,您上传的文件在处理请求时(暂时(保存 - 您无需自己保存。
$document_path = $request->document->path();
$message->attach($document_path, array(
'as' => $request->document->getClientOriginalName(),
'mime' => $request->document->getMimeType())
);