Laravel 5 多重下载文件

2021-12-18 00:00:00 php laravel laravel-routing laravel-5

如果我在 127.0.0.1/load/files 打开浏览器,此代码将正常工作.(自动下载文件)

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

ABCController.php

namespace AppHttpControllers;

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');

我可以使用 1 个路径和 1 个功能同时下载 2 个文件吗?比如

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
}

感谢您的帮助.

推荐答案

使用 HTTP 协议通过同一个请求同时发送多个文件是不可能的.Laravel 也不支持这一点.例如,您必须将文件打包成 zip 文件.

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.

另见

  • 在 php 中以 zip 格式下载多个文件
  • Zipper(一个方便的 ZipArchive 包装器)
  • download multiple files as zip in php
  • Zipper (a handy wrapper for ZipArchive)

相关文章