25. Lưu trữ file upload (Storing uploaded file) (ok)
https://viblo.asia/p/tap-16-request-laravel-aWj534Y8K6m
Last updated
https://viblo.asia/p/tap-16-request-laravel-aWj534Y8K6m
Last updated
Laravel cung cấp cho chúng ta một số disk lưu trữ các file upload như local
, ftp
, s3
..., các cấu hình đó được thực hiện tại config/filesystem.php
. Nhưng tại bài này mình chỉ giới thiệu về disk local
thôi, các disk khác chúng ta sẽ tìm hiểu ở những tập sau.
Với disk local
, các file khi upload sẽ được lưu trữ ngay trên hệ thống tại thư mục storage/app
. Nếu bạn không thích thư mục mặc định này, bạn có thể thay đổi trong file cấu hình.
Để lưu trữ một file đã upload bất kỳ, ta sử dụng method store
.
Method store
này sẽ nhận hai tham số:
Tham số thứ nhất là path chứa file, tức là storage/app/{path}
. Nếu path chưa tồn tại, Laravel sẽ tự khởi tạo thư mục cho chúng ta.
Tham số thứ hai (tùy chọn) sẽ là tên disk lưu trữ file, nếu không khai báo framework sẽ tự hiểu ta đang sử dụng disk local
.
Sau khi thực thi method store
này, nếu kiểm tra source bạn sẽ thấy các file lưu trữ đã bị đổi tên theo mã token nào đó.
Nếu bạn không muốn như thế, bạn có thể sử dụng method storeAs
thay thế cho store
để upload file với tên theo ý muốn.
Lưu ý: Hai method
store
vàstoreAs
sẽ trả về path file vừa lữu trữ.