Client Helpers
Hooks and helper flows for uploads and downloads.
Hooks
const {
useFiles,
useFile,
useCreateUpload,
useUploadStatus,
useCompleteUpload,
useAbortUpload,
useUpdateFile,
useDeleteFile,
} = uploadClient;Helpers
The helper API wraps the common end-to-end flows. It is exposed as a reactive store hook in supported frameworks.
const { useUploadHelpers } = uploadClient;
const helpers = useUploadHelpers();
await helpers.createUploadAndTransfer(file, {
provider: "r2-binding",
fileKey: `teams/${teamId}/logo`,
onProgress: ({ bytesUploaded, totalBytes }) => {
console.log(bytesUploaded, totalBytes);
},
});createUploadAndTransfer
- Creates an upload.
- Chooses direct single, direct multipart, or server-streamed (proxy) uploads based on the server response.
- Tracks progress for multipart and server-streamed (proxy) uploads.
downloadFile
const response = await helpers.downloadFile(`teams/${teamId}/logo`, {
provider: "r2-binding",
method: "signed-url", // or "content"
});
const blob = await response.blob();Download method selection is explicit:
method: "signed-url"callsGET /files/by-key/download-url?provider=...&key=....method: "content"callsGET /files/by-key/content?provider=...&key=....
No automatic fallback happens between methods.