###前提
Webアプリを製作しています。内容としては写真を撮り、それをメールに添付し送信するというものです。
###問題点
写真ということでサイズが大きいというのもあり、完了画面へ遷移するのが非常に遅くなってしまっています。なんとかレスポンスを上げたいと思っています。
###試したこと
・メール送信をキューにした(driverはdatabase)
・入力フォームからpostしたファイルをcontroller側にてInterventionImageでリサイズ(2-3MB→約100KB)
###条件
laravel5.4
PHP5.6
さくらサーバビジネスプロ
###ソースコード等
.env
DB_CONNECTION=mysql DB_HOST=***** DB_PORT=3306 DB_DATABASE=***** DB_USERNAME=***** DB_PASSWORD=***** QUEUE_DRIVER=database //一応queue.php側も同様に変更しています
コントローラー
class Controller extends Controller { public function form(Request $request) { $contact = new Contact($request->all()); $file = [ $request->file('file1'), $request->file('file2'), $request->file('file3') ]; //リサイズ処理 for($i = 0; $i < 3; $i++) { if(!empty($file[$i])) { Image::make($file[$i])->resize(1000, null, function ($constraint) { $constraint->aspectRatio(); })->orientate()->save($file[$i]); } } $to = '****@****.jp'; Mail::to($to)->queue(new sendMail($contact,$file)); return view('layouts.end'); } }
なにか情報が足りなければ追加致します。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/07 07:50