1. 程式人生 > 實用技巧 >laravel 多圖上傳及圖片的儲存例子

laravel 多圖上傳及圖片的儲存例子

1.瞭解檔案磁碟配置:

'public' => [
      'driver' => 'local',
      'root' => storage_path('app/public'),
      'url' => env('APP_URL').'/storage',
      'visibility' => 'public',
    ],

在filesystems.php檔案中建立了一個名為 public的檔案磁碟,使用的驅動為本地儲存,'root'表示的是檔案最終儲存的目標路徑是storage/app/public, ‘url' 表示的是檔案的url,'visibility'表示的是可見性

2.建立軟連線,在專案的根目錄執行如下命令:

php artisan storage:link

如果是線上程式碼,則需要在伺服器中的專案根目錄執行。

軟連線的建立意味著專案的 …/public/storage/ 路徑直接指向了 …/storage/app/public/ 目錄

3.接收圖片並存儲,返回儲存的圖片的url

class UploadController extends Controller
{
  public function upload()
  {
    $imgs = [];
    if (request()->hasFile('file')){
      foreach (request()->file('file') as $file){
      //將圖片儲存到了 ../storage/app/public/product/ 路徑下
        $path = $file->store('public/product');
        $path = str_replace('public','',$path);
        $imgs[]= asset('storage/'.$path);
      }
       return response()->json([
          'errno'=>0,
          'data'=>$imgs
        ]);
    }else{
      return response()->json([
        'info'=>'沒有圖片'
      ]);
    }
    //處理多圖上傳並返回陣列
  }
}

以上這篇laravel 多圖上傳及圖片的儲存例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援碼農教程。