Skip to content

k.file/resumable

Resume upload from breakpoint

Overview

k.file.resumableUpload provides the function of uploading large files in parts and supports resumed uploading at breakpoints.

create()

Create a resumable upload task.

ts
k.api.post("create", () => {
    const task = k.file.resumableUpload.create("video.mp4", 10 * 1024 * 1024, 1024 * 1024)
    return {
        id: task.id,
        name: task.name,
        size: task.size,
        requireChunks: task.requireChunks
    }
})

parameter:

ParameterTypeRequiredDescription
namestringyesfile name
sizenumberyesFile size (bytes)
chunkSizenumbernoChunk size, default 1024 * 1024

Return: ResumableUploadTask

get()

Get the resume upload task.

ts
k.api.post("get", () => {
    const task = k.file.resumableUpload.create("video.mp4", 1024 * 1024, 256 * 1024)
    const retrieved = k.file.resumableUpload.get(task.id)
    return { id: retrieved.id, name: retrieved.name }
})

parameter:

ParameterTypeRequiredDescription
IDstringyesTask ID

Return: ResumableUploadTask

remove()

Delete the resume upload task.

ts
k.api.post("remove", () => {
    const task = k.file.resumableUpload.create("video.mp4", 1024 * 1024, 256 * 1024)
    k.file.resumableUpload.remove(task.id)
    const retrieved = k.file.resumableUpload.get(task.id)
    return { removed: !retrieved }
})

parameter:

ParameterTypeRequiredDescription
IDstringyesTask ID

Return: void

ResumableUploadTask

The task object of resuming the upload after breakpoint.

Properties

PropertyDescriptionType
IDTask IDstring
namefile namestring
sizefile sizenumber
chunkSizeChunk sizenumber
requireChunksRequired block index listnumber[]
timestampTimestampnumber

build()

Build files from all chunks.

ts
k.api.post("build", () => {
    const task = k.file.resumableUpload.get(taskId)
    const fileInfo = task.build("final-video.mp4")
    return fileInfo
})

parameter:

ParameterTypeRequiredDescription
fileNamestringnoNew file name, the original task name is used by default

Return: FileInfo

saveChunk()

Save chunked data.

ts
k.api.post("saveChunk", () => {
    const task = k.file.resumableUpload.get(taskId)
    task.saveChunk(chunkData, chunkIndex)
    return { saved: true }
})

parameter:

ParameterTypeRequiredDescription
bytesnumber[]yesChunked data
chunknumberyesblock index

Return: void