The Dart SDK is currently in experimental status. If you would like to provide feedback, please reach out to us with your suggestions and comments on our Discord.
Dart - bucket.file.getDownloadUrl()
Create a download url for a file within a bucket.
import 'package:nitric_sdk/nitric.dart';
final assets = Nitric.bucket("assets").allow([
BucketPermission.read,
]);
final logo = assets.file("images/logo.png");
// Create a read-only url reference for downloading
final downloadUrl = await logo.getDownloadUrl();
Parameters
- Name
expiry
- Optional
- Optional
- Type
- int
- Description
Seconds until link expiry. Defaults to
600
, Maximum of604800
(7 days).
Examples
Create a readable link that is valid for the next 5 minutes
import 'package:nitric_sdk/nitric.dart';
final assets = Nitric.bucket("assets").allow([
BucketPermission.read,
]);
final logo = assets.file("images/logo.png");
// Create a read-only url reference for downloading
final downloadUrl = await logo.getDownloadUrl(expiry: 300);
Redirect response to an image URL
import 'package:nitric_sdk/nitric.dart';
final mainApi = Nitric.api("main");
final images = Nitric.bucket("assets").allow([
BucketPermission.read,
]);
mainApi.get("/images/:id", (ctx) async {
final id = ctx.req.pathParams["id"]!;
final signedUrl = await images.file(id).getDownloadUrl();
ctx.res.status = 303;
ctx.res.headers["Location"] = [signedUrl];
return ctx;
});