Laravel 8 文件上傳

2021-07-19 10:14 更新

在 Web 應用中,最常見的文件存儲用例便是上傳用戶頭像、照片和文檔。Laravel 上傳文件的 store 方法可以輕松處理上傳文件的存儲。您只需要調(diào)用 store 方法,并將您預期的文件存儲位置作為參數(shù)傳遞給它:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class UserAvatarController extends Controller
{
    /**
     * 上傳用戶頭像。
     *
     * @param  Request  $request
     * @return Response
     */
    public function update(Request $request)
    {
        $path = $request->file('avatar')->store('avatars');

        return $path;
    }
} 

在這個例子中,有一些重點需要注意。我們僅僅指定了目錄名,并沒有指定文件名。默認情況下,store 方法將會自動生成一個唯一的 ID 并將其作為文件的名稱。而文件的擴展名則是根據(jù)文件的 MIME 類型來進行判斷的。store 方法將會返回文件的路徑,您可將其與生成的文件名一起存到數(shù)據(jù)庫中。

您亦可調(diào)用 Storage 門面的 putFile 方法達到與上述例子中相同的效果:

$path = Storage::putFile('avatars', $request->file('avatar')); 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號