Skip to content

Commit ecd12c6

Browse files
committed
fix: add chunk method
1 parent 74813a2 commit ecd12c6

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

src/components/DropZone.tsx

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface DropZoneProps {
2424
// chunking
2525
chunking?: string,
2626
// chunkSize
27-
chunkSize?: number,
27+
chunkSize?: string,
2828
// label
2929
label?: string,
3030
// addRemoveLinks
@@ -71,7 +71,7 @@ export const DropZone = React.forwardRef<HTMLFormElement, DropZoneProps>(
7171
autoProcessQueue = true,
7272
hiddenLabel = false,
7373
chunking = "0",
74-
chunkSize = 2000000,
74+
chunkSize = "2000000",
7575
dropzoneParams = {}
7676
},
7777
ref
@@ -88,7 +88,7 @@ export const DropZone = React.forwardRef<HTMLFormElement, DropZoneProps>(
8888
maxFiles: max_files,
8989
maxFilesize: max_file_size,
9090
chunking : chunking == "1" ?? false,
91-
chunkSize,
91+
chunkSize : chunkSize != "" ? Number.parseInt(chunkSize) : 2000000,
9292
retryChunks: true,
9393
url: url,
9494
params: {...dropzoneParams}
@@ -169,7 +169,31 @@ export const DropZone = React.forwardRef<HTMLFormElement, DropZoneProps>(
169169
(dropZone as Dropzone).on("error", () => {
170170
setIsInfoHidden(true);
171171
setIsHidden(true);
172-
});
172+
}) &&
173+
(dropZone as Dropzone).on("sending", (file: any, xhr, formData) => {
174+
175+
console.log(file, xhr, formData);
176+
177+
if (dropZoneParameter.chunking) {
178+
formData.append('dzuuid', file.upload?.uuid);
179+
formData.append('dztotalchunkcount', file.upload?.totalChunkCount);
180+
181+
let index = 1;
182+
// @ts-nocheck
183+
if(file.upload?.chunks)
184+
{
185+
index = file.upload.chunks[file.upload.chunks.length - 1].index
186+
}
187+
188+
formData.append('dzchunkindex', index.toString());
189+
formData.append('dztotalfilesize', file.size );
190+
formData.append('dzchunksize', dropZoneParameter.chunkSize.toString());
191+
}
192+
}) &&
193+
(dropZone as Dropzone).on("chunksUploaded", (file, done) => {
194+
console.log(file);
195+
done();
196+
});
173197

174198
// Initialization of DropZone
175199
useEffect(() => {

0 commit comments

Comments
 (0)