laravel - 使用 Laravel SMTP 发送附件并保存到本地存储
问题描述
我在论坛中阅读了一个类似的主题解决了,但它在我身上没有成功。我在哪里犯错?
看法
<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 的官方文档中有一整节关于请求中的文件。
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())
);
推荐阅读
- java - 通过 fk id 在使用 @JoinColumn 映射的实体中保存属性
- android - 选择文本时如何更改textview的光标颜色
- fullcalendar - Fullcalendar 自定义月份从 24 日开始,到 23 日结束
- c# - Url.Action 方法返回错误的 url 字符串
- java - 如何创建循环枚举定义?
- angular - 使用 Angular Universal 和 Ionic App 时未定义窗口错误
- c++ - 如何从命令行编译/使用 MSVC 中的标头单元?
- python - Keras:使用自动编码器进行预测
- angular - 如何使用 ActivatedRoute 测试我的组件?
- r - 在 R 中读取包含非 ASCII 字符的文件