The R2Bucket bindings to use
Check if a file with the given key exists.
The key to look up
true
if a file with the given key exists, false
otherwise
List the files in storage.
The following options
are available:
cursor
: An opaque string that allows you to paginate over the keys in storageincludeMetadata
: If true
, include file metadata in the resultlimit
: The maximum number of files to returnprefix
: Only return keys that start with this stringFor example, to list all files under keys that start with user123/
:
let result = await storage.list({ prefix: 'user123/' });
console.log(result.files);
// [
// { key: "user123/..." },
// { key: "user123/..." },
// ...
// ]
result.files
will be an array of { key: string }
objects. To include metadata about each
file, use includeMetadata: true
.
let result = await storage.list({ prefix: 'user123/', includeMetadata: true });
console.log(result.files);
// [
// {
// key: "user123/...",
// lastModified: 1737955705270,
// name: "hello.txt",
// size: 16,
// type: "text/plain"
// },
// ...
// ]
Pagination is done via an opaque cursor
property in the list result object. If it is not
undefined
, there are more files to list. You can list them by passing the cursor
back in
the options
object on the next call.
let result = await storage.list();
console.log(result.files);
if (result.cursor !== undefined) {
let result2 = await storage.list({ cursor: result.cursor });
}
Use the limit
option to limit how many results you get back in the files
array.
Optional
options: TOptions for the list operation
An object with an array of files
and an optional cursor
property
Remove the file with the given key from storage.
The key to remove
A promise that resolves when the file has been removed
A
FileStorage
that is backed by an R2 bucket.