Laravel 5 Multiple Download File

2019-02-19 11:27发布

问题:

This code will work correctly if I open browser at 127.0.0.1/load/files. (Auto Download File)

ABCController.php

namespace App\Http\Controllers;

use Response;
use File;

function download_file(){
    return Response::download(public_path() . "/files/file_1.txt");
}

routes.php

Route::get('/load/files','ABCController@download_file');

Can I use 1 route and 1 function for download 2 files at the same time ? Such as

function download_file(){
    return Response::download(["file_1.txt","file_2.txt"]); //this code not right
}

Thank you for any help.

回答1:

It is not possible to send more than one file simultaneously over the same request with the HTTP protocol. Laravel also does not support this. You have to pack the files in, for example, a zip file.

Also see

  • download multiple files as zip in php
  • Zipper (a handy wrapper for ZipArchive)