Smart Upload Strategy
Automatically selects between direct and chunked upload based on file size for optimal performance
A universal large file upload solution with chunked upload, resumable upload, and instant upload capabilities

pnpm add @chunkflowjs/core @chunkflowjs/upload-client-reactnpm install @chunkflowjs/core @chunkflowjs/upload-client-reactyarn add @chunkflowjs/core @chunkflowjs/upload-client-reactimport { UploadProvider } from "@chunkflowjs/upload-client-react";
import { UploadButton, UploadList } from "@chunkflowjs/upload-component-react";
import { createFetchAdapter } from "@chunkflowjs/core";
const adapter = createFetchAdapter({
baseURL: "http://localhost:3000/api",
});
function App() {
return (
<UploadProvider requestAdapter={adapter}>
<UploadButton accept="image/*,video/*" maxSize={100 * 1024 * 1024}>
Select Files
</UploadButton>
<UploadList />
</UploadProvider>
);
}<script setup>
import { createApp } from "vue";
import { UploadPlugin } from "@chunkflowjs/upload-client-vue";
import { UploadButton, UploadList } from "@chunkflowjs/upload-component-vue";
import { createFetchAdapter } from "@chunkflowjs/core";
const adapter = createFetchAdapter({
baseURL: "http://localhost:3000/api",
});
const app = createApp(App);
app.use(UploadPlugin, { requestAdapter: adapter });
</script>
<template>
<UploadButton accept="image/*,video/*" :max-size="100 * 1024 * 1024"> Select Files </UploadButton>
<UploadList />
</template>ChunkFlow is designed with a "highly decoupled, progressive enhancement, performance-first" philosophy: