laravel8でs3にアップロードするAPIを作ってみる

laravel8でs3にアップロードするAPIを作ってみる

1. lightsailにlaravelをインストール

lamp@lightsailでphpmyadminにアクセスする方法

2. Uploadモデルを作る

routes/api.php

テーブル定義

App\Http\Controllers\UploadController

3. postmanでアップロードしてみる。
Bodyのform-dataを選択して、keyをfileと入力したら、その欄の右側にマウスカーソルを移動させるとtextかfileが選択できる表示が出てくるのでfileを選択。分かりづらい!

レスポンスが返ってくる
{
“path”: “uploads/nM6sBokos4jMAmFdnBueoSf0fciI94uqW5Er5p7g.txt”
}
curlだとうまくアップロード出来なかった…。

4. アップロード先をS3に変更

laravel8からs3へ画像アップロードしてみる。署名付きURL(期限付きURL)を生成して、S3に一時的に読み取り可能にする。

.envでアップロード先S3設定をしておく

5. s3の公開設定が間違っていなければ、このままURLでアップロードしたファイルが公開される。