Upload a File from URL to S3 with Resumable Desktop Transfers
Paste a URL. Buckets handles downloading and uploading the file to S3, with resumable transfers. You do not need to save the file manually and select it again in a separate upload dialog.
The current implementation downloads the source into a temporary local file before handing it to the normal resumable uploader. It uses your computer's disk space and network. It does not move the file directly between two cloud services.
An earlier version of this article described a streaming implementation without disk staging. This article now describes the production staging path in Buckets 2.7.12. The demo video illustrates the workflow; interface details may differ by version.
Start a transfer
- Connect your AWS profile and select a destination bucket.
- Open Upload from URL, paste the source URL, and choose the destination object key.
- Supply request headers if the source requires them, then start the transfer.
- Follow the source-download and S3-upload progress. Check the completed or failed result before relying on the destination object.
Use a direct file URL. A link that returns an HTML sign-in or sharing page may upload that page rather than the file you intended. Your AWS credentials need permission to upload to the destination, and the source URL must remain accessible.
Why the app stages a local file
The production path has two stages:
| Stage | What happens | Resource requirements |
|---|---|---|
| Download source | Buckets writes the response to a local staging file and records progress | Local disk space and source network access |
| Upload to S3 | The normal upload queue processes the staged file, using multipart upload where appropriate | S3 permissions and outbound network access |
The staging file lets the app retain downloaded bytes across interruptions. It also allows the upload stage to resume without always fetching the source again. Completed or canceled transfer cleanup removes staging data; interrupted transfers can retain it for recovery.
The file content passes through your computer, not a ServerlessCreed transfer server. That does not mean there is no local copy: staging files contain the downloaded content. Use appropriate workstation protections for sensitive data. See our Trust Center for credential and data-handling details.
Resume depends on the source
When some source bytes are already present, Buckets attempts a ranged request using a stored ETag or Last-Modified validator. This helps avoid combining bytes from different source revisions.
If the source has no usable validator, ignores the range request, or changes, the app can restart the source download. A source URL that has expired may need to be replaced. Resume support does not guarantee that every external server can continue from the last byte.
Progress and cancellation use the same transfer interface as other uploads. Keep the app running and allow the transfer to complete or resume after an interruption.
Plan for disk space and network usage
- Keep enough local disk space for the source file. Several pending transfers can occupy space at the same time.
- Both the source download and the S3 upload use your network. This workflow does not eliminate bandwidth usage on a metered connection.
- Transfer duration depends on file size, both network connections, and the destination configuration.
- S3 request and storage charges, and any source-provider transfer charges, still apply.
- Large files use the normal uploader's multipart behavior and limits. Do not assume the AWS service maximum has been validated for every file size or provider in this app.
If your task is copying an object already in an accessible S3 bucket, evaluate the app's bucket-to-bucket copy workflow as well; downloading through a URL is not always necessary.
Private URLs and redirects
You can supply custom headers for an authenticated source. The fetcher limits redirect hops and strips Authorization on cross-origin redirects. A destination host that needs its own authentication can therefore reject a redirected request.
Avoid sharing signed source URLs or authentication headers in support messages. Source-download state uses the app's secure-storage support; if that storage is unavailable, the resumable URL workflow reports an error.
Try your actual workload
Start with a small file whose contents you know. Check the destination key, content type, and result, then try a representative larger file. This is a better guide to suitability than a promised transfer speed.
Download Buckets for a 14-day trial, or compare plans.
Try Buckets by ServerlessCreed free for 14 days
Cross-platform AWS S3 client for Mac, Windows, and Linux. Upload from URL, presigned links, multi-profile SSO, visual policies — all in one app.