Looking to hire Laravel developers? Try LaraJobs

laravel-stream-remote maintained by titasgailius

Description
Stream remote files
Author
Last update
2023/04/19 21:23 (dev-dependabot/composer/guzzlehttp/psr7-1.9.1)
License
Links
Downloads
1 091

Comments
comments powered by Disqus

Stream Remote Files

With this package you can stream remote contents right from your Laravel application.

Installation

composer require titasgailius/laravel-stream-remote

Usage

The streamRemoteDownload method may be used to generate a response that turns contents of a remote resource to a downloadable response without having to write anything to disk.

This method accepts a url, file name and an optional array of headers as it's arguments:

return response()->streamRemoteDownload('https://example.com/remote/file.zip', 'archive.zip');

Advanced

You may specify headers of the response, content-disposition value and chunk size of the streamed content:

return response()->streamRemoteDownload('https://example.com/remote/file.zip', 'archive.zip', [
    'Content-Type' => 'application/zip'
], 'attachment', 1024);

This is a full signature of the streamRemoteDownload method:

public function streamRemoteDownload(
    string $url,
    string $name = null,
    array $headers = [],
    string $disposition = 'attachment',
    int $chunk = 2048
): StreamedResponse;

Tests

This package is covered with tests that are store in tests directory. Run ./vendor/bin/phpunit to run the test suite.