首页 > 解决方案 > 在 Laravel7 中存储调整大小的照片并同时发送电子邮件

问题描述

我正在研究联系方式。Laravel 框架是 7.15.0 它工作正常。我有一个问题,我想添加图像文件附加功能。我目前在下面这样写。

刀片文件

<div class="form-group">
    <label for="inputFile">File input</label>
    <input type="file" class="form-control-file" id="inputfile">
</div>

控制器

\Mail::send('mail', array(
    'name' => $request->get('name'),
    'message' => $request->get('message'),
    'inputfile' => $request->get('inputfile'),
), function($message) use ($request){
    $message->from($request->email);
    $message->to('123@testmail.com', 'mail-recive')->subject($request->get('mail-recive'));
});

此代码在 MySQL 中存储数据并同时发送电子邮件。

你能教我调整大小的功能吗?我想设置最大尺寸为 2000 x 2000 像素。你能教我正确的代码吗?

标签: laravellaravel-7

解决方案


如果您只是想限制用户上传的图片不超过特定大小(例如 3mb),您可以使用laravel 验证来实现,如果您正在寻找调整图片尺寸的方法,那么有一个很棒的包Intervention。它适用于 laravel。您可以做的不仅仅是使用这个包调整图像的大小。

这是一个示例,如何调整图像大小:

if($request->hasFile('img')){
    $img = Image::make($request->img);
    
    $img->resize(500, 500);

    $img->save('Your/Public/Path/image.jpg');
}

您可以在官方文档中轻松找到如何安装和使用这个包。


推荐阅读