21. Lấy file được upload (Retrieving uploaded file) (ok)
https://viblo.asia/p/tap-16-request-laravel-aWj534Y8K6m
Bạn có thể truy cập tới các file được upload từ lớp Illuminate\Http\Request
thông qua method file
, hoặc theo cú pháp thuộc tính (nếu input đó có type là file
). Phương thức này sẽ trả về lớp khởi tạo Illuminate\Http\UploadedFile
, lớp này sẽ kế thừa class SplFileInfo
của PHP, cung cấp một số phương thức để tương tác với file.
Để bắt đầu thử nghiệm các phương thức bên dưới, ta cần build một HTML form đã. Mình sẽ lấy blade view form
và controller FormController
ở trên. Tại blade view form
, các bạn xây dựng form HTML như thế này:
Nên nhớ phải thêm enctype="multipart/form-data"
để có thể gửi input data file.
Tiếp theo là code xử lý logic tại post
của FormController
. Đầu tiên ta hãy thử dump xem dữ liệu ta nhận được từ request là gì.
Rồi nạp server và thử đính kèm một tệp ảnh rồi nhấn "Upload" xem, kết quả bạn sẽ nhận được sẽ là:
Như các bạn thấy, ngoài _token
ra, chúng ta còn nhận được avatar
gán với object UploadedFile
giống như ta đã đề cập ở trên.
Bạn có thể sử dụng multiple upload file, thay vì sẽ chứa một object UploadedFile
thì nó sẽ là mảng chứa các object UploadedFile
.
Last updated