Tải xuống tệp từ bộ lưu trữ Laravel

Bài viết này có liên quan đến bài viết trước của tôi về tải tệp lên bằng Dropzone. Do đó, bài viết này sẽ giả định rằng bạn có các tệp di chuyển, bộ điều khiển và mô hình được thảo luận trong bài viết đó. Hôm nay chúng ta sẽ xem cách thiết lập trang web của bạn để có thể tải xuống các tệp. Làm thôi nào

Tình huống trường hợp

Giả sử chúng ta có một bảng cơ sở dữ liệu được gọi là sinh viên với các cột id, tên, giới tính, picture_path, created_at và updated_at. Cột picture_path chứa đường dẫn đến các tệp được tải lên bằng phương pháp

$request->file['file']->store['files'];
3. Đây là một ví dụ về đường dẫn được lưu trữ trong cột picture_path

files/A0wjnHie4xlNR1o6qxHihU259yblArpIToGIEps8.png

Đường dẫn được tạo với dòng này

$request->file['file']->store['files'];

Để biết thêm thông tin, xem bài viết trước. Dưới đây là một số bước bạn có thể làm theo để thiết lập tải xuống trên trang web của mình

1. Cập nhật tuyến đường của bạn

Bạn sẽ cần hai tuyến đường. một để xử lý yêu cầu cho trang mà bạn sẽ hiển thị các tệp có sẵn và một để xử lý các yêu cầu tải tệp xuống. Thêm các dòng mã sau vào tuyến đường/web của bạn. tập tin php

//Route for viewing a list of student names and links to download their imageRoute::get['view-students', [StudentController::class, 'viewFiles']]->name['student.view_files'];//Route for downloading a file using the id of the related studentRoute::get['download/{id}', [StudentController::class, 'downloadFile']]->name['student.download'];
2. Tạo và cập nhật chế độ xem của bạn

Chế độ xem sẽ được sử dụng để hiển thị danh sách tên sinh viên. Bên cạnh mỗi tên học sinh sẽ có link download để người dùng tải ảnh học sinh về. Để tạo chế độ xem, hãy điều hướng đến thư mục tài nguyên/lượt xem của dự án của bạn và tạo một tệp mới có tên view_students. lưỡi. php

Thêm đoạn mã sau vào tập tin của bạn

View Students@foreach [$students as $student]@endforeach
{{$student->name}}download
3. Cập nhật bộ điều khiển của bạn

Thêm đoạn mã sau vào StudentController của bạn

Chủ Đề