Upload Large Folders to Cloudflare R2
Cloudflare R2 object storage has a limitation: the web interface only allows uploading folders containing fewer than 100 files. To upload folders with more than 100 files, you typically need to set up Cloudflare Workers or use the S3 API with custom code. Rclone makes this process easy. Step 1 - Install Rclone Rclone ↗ is a command-line tool for managing files on cloud storage. Rclone works well for uploading multiple files from your local machine or copying data from other cloud storage providers. brew install rclone Windows: Download the installer from rclone.org/install/#windows Step 2 - Create Cloudflare API Keys From your Cloudflare R2 dashboard, click the Manage button. Create a new user API token: Enter a Token Name (e.g. r2-upload-token ) For Permission , select Object Read Write U
Cloudflare R2 object storage has a limitation: the web interface only allows uploading folders containing fewer than 100 files. To upload folders with more than 100 files, you typically need to set up Cloudflare Workers or use the S3 API with custom code.
Rclone makes this process easy.
Step 1 - Install Rclone
Rclone ↗ is a command-line tool for managing files on cloud storage. Rclone works well for uploading multiple files from your local machine or copying data from other cloud storage providers.
brew install rclone
Enter fullscreen mode
Exit fullscreen mode
Windows: Download the installer from rclone.org/install/#windows
Step 2 - Create Cloudflare API Keys
-
From your Cloudflare R2 dashboard, click the Manage button.
-
Create a new user API token:
-
Enter a Token Name (e.g. r2-upload-token)
-
For Permission, select Object Read & Write
-
Under Specify buckets, choose the bucket(s) you want to allow access to or allow all.
After creation, you will receive: Access Key ID, Secret Access Token, Endpoint (e.g., https://.r2.cloudflarestorage.com)
⚠️ Save these credentials immediately because you won’t be able to see the secret key again.
Step 3 - Configure Rclone
Run the configuration command:
rclone config
Enter fullscreen mode
Exit fullscreen mode
-
Select new remote
-
Enter name of new remote (you'll use this later)
-
Select storage > 4 (Amazon S3 Compliant Storage Providers)
-
Select provider > 7 (Cloudflare)
-
env_auth > 1 (Enter AWS credentials in the next step)
-
Enter access_key_id
-
Enter secret_access_key
-
Select region - auto (Leave empty or enter 1)
-
Enter endpoint
-
Select No for Edit Advanced Config > n (n for No)
-
Keep this remote > y
-
Quit config > q
Step 4: Upload Your Folder
Use the rclone copy command:
rclone copy -vv :/
Enter fullscreen mode
Exit fullscreen mode
Example:
rclone copy -vv /Users/Dev/project/images my-rclone-remote:images/apparels
Enter fullscreen mode
Exit fullscreen mode
The -vv flag gives verbose output so you can watch the upload progress. rclone also skips any file that has already been uploaded.
Step 5: Verify the Upload
List the bucket and count the files:
rclone ls : | wc -l
Enter fullscreen mode
Exit fullscreen mode
Sign in to highlight and annotate this article

Conversation starters
Daily AI Digest
Get the top 5 AI stories delivered to your inbox every morning.
More about
interface
TypeScript Type Guards
When you're building a payment system, "close enough" isn't good enough. A single undefined value or a mismatched object property can be the difference between a successful transaction and a frustrated customer (or a lost sale). TypeScript's Type Guards are your first line of defense. They allow you to narrow down broad, uncertain types into specific ones that you can safely interact with. In this guide, we'll build a mini payment processor and learn how to use Type Guards to make it crash-proof. 1. The Problem: The "Silent Failures" of JavaScript Imagine you have a function that processes different types of payment responses. In plain JavaScript, you might write something like this: function processResponse ( response ) { // If response is a 'Success' object, it has a 'transactionId' // I

A Faster Way to Build MongoDB Queries Visually
Working with MongoDB, I found myself stuck on the same issue: I knew exactly what I wanted to do, but I still found myself spending too much time typing out my query every single time. Not because my query was particularly complex, but because of all the little things I had to keep track of. Field names, operators, nested paths, and so on. Making sure my syntax was correct, tweaking something small. It was just too much for something I ended up doing so many times. I wanted to find a way to make my query faster and more visual. Something that would let me spend more time on my data and less time typing everything out again. This is one of the reasons I ended up creating VisuaLeaf , and I have to say that my Visual Query Builder is probably one of my favorite features. The Query Builder Sta

UniCon: A Unified System for Efficient Robot Learning Transfers
arXiv:2601.14617v2 Announce Type: replace Abstract: Deploying learning-based controllers across heterogeneous robots is challenging due to platform differences, inconsistent interfaces, and inefficient middleware. To address these issues, we present UniCon, a lightweight framework that standardizes states, control flow, and instrumentation across platforms. It decomposes workflows into execution graphs with reusable components, separating system states from control logic to enable plug-and-play deployment across various robot morphologies. Unlike traditional middleware, it prioritizes efficiency through batched, vectorized data flow, minimizing communication overhead and improving inference latency. This modular, data-oriented approach enables seamless sim-to-real transfer with minimal re-
Knowledge Map
Connected Articles — Knowledge Graph
This article is connected to other articles through shared AI topics and tags.
More in Products

Beware the Magical 2-Person, $1 Billion AI-Driven Startup
In early 2024, OpenAI CEO Sam Altman predicted there would be a “one-person billion dollar company, which would have been unimaginable without AI, but now it will happen.” Several media outlets recently concluded that the prediction came true (albeit with two employees). But the story looks less promising upon deeper inspection. Retain Healthy Skepticism When [ ]

The Geometry Behind the Dot Product: Unit Vectors, Projections, and Intuition
The geometric foundations you need to understand the dot product The post The Geometry Behind the Dot Product: Unit Vectors, Projections, and Intuition appeared first on Towards Data Science .

AI Is Insatiable
While browsing our website a few weeks ago, I stumbled upon “ How and When the Memory Chip Shortage Will End ” by Senior Editor Samuel K. Moore. His analysis focuses on the current DRAM shortage caused by AI hyperscalers’ ravenous appetite for memory, a major constraint on the speed at which large language models run. Moore provides a clear explanation of the shortage, particularly for high bandwidth memory (HBM). As we and the rest of the tech media have documented, AI is a resource hog. AI electricity consumption could account for up to 12 percent of all U.S. power by 2028. Generative AI queries consumed 15 terawatt-hours in 2025 and are projected to consume 347 TWh by 2030. Water consumption for cooling AI data centers is predicted to double or even quadruple by 2028 compared to 2023. B



Discussion
Sign in to join the discussion
No comments yet — be the first to share your thoughts!