$download, ]); } /** * @param \App\Http\Requests\Document\ShowDocumentRequest $request * @param \App\Models\Document $download * @param bool $bulk * @return mixed */ public function download(ShowDocumentRequest $request, Document $download) { return Storage::disk($download->disk)->download($download->url, $download->name); } public function downloadMultiple(DownloadMultipleDocumentsRequest $request) { $documents = Document::whereIn('id', $this->transformKeys($request->file_hash)) ->where('company_id', auth('contact')->user()->company->id) ->get(); $options = new Archive(); $options->setSendHttpHeaders(true); $zip = new ZipStream('files.zip', $options); foreach ($documents as $document) { $zip->addFileFromPath(basename($document->filePath()), TempFile::path($document->filePath())); } $zip->finish(); } }