Chunk Upload
Oweb exposes ChunkUpload from owebjs/plugins for chunked upload workflows.
import { Route } from 'owebjs';import { ChunkUpload, ChunkUploadStatus } from 'owebjs/plugins';
export default class ChunkUploadRoute extends Route { async handle(req, res) { const file = await req.file(); const buffer = await file.toBuffer();
const result = await ChunkUpload( { buffer, fileName: file.filename, currentChunk: Number(req.query.currentChunk), totalChunks: Number(req.query.totalChunks), }, { path: './uploads', maxChunkSize: 1024 * 1024, maxFileSize: 10 * 1024 * 1024, }, );
if ( result.status === ChunkUploadStatus.ChunkTooLarge || result.status === ChunkUploadStatus.FileTooLarge ) { return res.status(413).send(result); }
return res.send(result); }}