用Laravel的SMTP发送附件并保存到本地存储.

问题描述 投票:0回答:1

我在论坛上看到一个类似的题目解决了,但是在我这里没有成功。我是哪里做错了?

查看

<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 email smtp attachment
1个回答
0
投票

关于请求中的文件, 在laravel的官方文档中有一整节.

https:/laravel.comdocs7.xrequests#files

https:/laravel.comapi7.xIlluminateHttpUploadedFile.html。

所以,根据上面的文档,你上传的文件会在处理请求时(临时)保存,你不需要自己保存。

$document_path = $request->document->path();   

$message->attach($document_path, array(
    'as' => $request->document->getClientOriginalName(),
    'mime' => $request->document->getMimeType())
);
© www.soinside.com 2019 - 2024. All rights reserved.