Provided by: libmojolicious-perl_9.31+dfsg-1_all
NAME
Mojo::Asset::File - File storage for HTTP content
SYNOPSIS
use Mojo::Asset::File; # Temporary file my $file = Mojo::Asset::File->new; $file->add_chunk('foo bar baz'); say 'File contains "bar"' if $file->contains('bar') >= 0; say $file->slurp; # Existing file my $file = Mojo::Asset::File->new(path => '/home/sri/foo.txt'); $file->move_to('/yada.txt'); say $file->slurp;
DESCRIPTION
Mojo::Asset::File is a file storage backend for HTTP content.
EVENTS
Mojo::Asset::File inherits all events from Mojo::Asset.
ATTRIBUTES
Mojo::Asset::File inherits all attributes from Mojo::Asset and implements the following new ones. cleanup my $bool = $file->cleanup; $file = $file->cleanup($bool); Delete "path" automatically once the file is not used anymore. handle my $handle = $file->handle; $file = $file->handle(IO::File->new); Filehandle, created on demand for "path", which can be generated automatically and safely based on "tmpdir". path my $path = $file->path; $file = $file->path('/home/sri/foo.txt'); File path used to create "handle". tmpdir my $tmpdir = $file->tmpdir; $file = $file->tmpdir('/tmp'); Temporary directory used to generate "path", defaults to the value of the "MOJO_TMPDIR" environment variable or auto-detection.
METHODS
Mojo::Asset::File inherits all methods from Mojo::Asset and implements the following new ones. add_chunk $file = $file->add_chunk('foo bar baz'); Add chunk of data. contains my $position = $file->contains('bar'); Check if asset contains a specific string. get_chunk my $bytes = $file->get_chunk($offset); my $bytes = $file->get_chunk($offset, $max); Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB). is_file my $bool = $file->is_file; True, this is a Mojo::Asset::File object. move_to $file = $file->move_to('/home/sri/bar.txt'); Move asset data into a specific file and disable "cleanup". mtime my $mtime = $file->mtime; Modification time of asset. new my $file = Mojo::Asset::File->new; my $file = Mojo::Asset::File->new(path => '/home/sri/test.txt'); my $file = Mojo::Asset::File->new({path => '/home/sri/test.txt'}); Construct a new Mojo::Asset::File object. size my $size = $file->size; Size of asset data in bytes. slurp my $bytes = $file->slurp; Read all asset data at once. to_file $file = $file->to_file; Does nothing but return the invocant, since we already have a Mojo::Asset::File object.
SEE ALSO
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.