比較進階有Storage::disk()的方法,可以參考這裡
view
注意表單上要加enctype="multipart/form-data不然會無法傳送檔案
<form action={{ url('webAdmin/calendar/add') }} method="post" enctype="multipart/form-data"> {{ csrf_field() }} <label for="">選擇一個PDF</label><br> <input type="file" name="pdfFile" id="file"><br> <button type="submit">submit</button>
controller
public function store(Request $request) { try{ $destinationPath = public_path().'/pdf/'; $filename = $request->pdfFile->getclientoriginalname(); $filetype=$request->pdfFile->getMimeType(); if($filetype!='application/pdf'){ return "檔案格式錯誤"; } $unique_name = md5($filename. time()).'.pdf'; $request->file('pdfFile')->move($destinationPath,$unique_name); return "OK"; } catch (Exception $e){ return "發生錯誤"; } }
最後檔案會儲存在publicpdf底下