Quickly create R2 bucket and configure binding in wrangler.jsonc
Creates R2 bucket and configures Worker binding with TypeScript types.
/plugin marketplace add secondsky/claude-skills/plugin install cloudflare-r2@claude-skillsCreate an R2 bucket and configure Worker binding for instant file storage.
{{bucket_name}}env.MY_BUCKET): {{binding_name}}{{preview_bucket_name}}wrangler r2 bucket create# Create bucket
bunx wrangler r2 bucket create my-uploads
# Configure wrangler.jsonc
{
"r2_buckets": [
{
"binding": "MY_UPLOADS",
"bucket_name": "my-uploads",
"preview_bucket_name": "my-uploads-preview"
}
]
}
# Add TypeScript types
type Bindings = {
MY_UPLOADS: R2Bucket;
};
# Example upload/download code
app.put('/upload/:filename', async (c) => {
const data = await c.req.arrayBuffer();
await c.env.MY_UPLOADS.put(c.req.param('filename'), data, {
httpMetadata: {
contentType: c.req.header('content-type') || 'application/octet-stream',
},
});
return c.json({ success: true });
});
app.get('/download/:filename', async (c) => {
const object = await c.env.MY_UPLOADS.get(c.req.param('filename'));
if (!object) return c.json({ error: 'Not found' }, 404);
return new Response(object.body);
});
bunx wrangler devbunx wrangler deploy