0.1.1 • Published 4 months ago
el-upload-chunk v0.1.1
el-upload-chunk
A Vue component for chunk upload based on hui, supporting pause, resume, and breakpoint continuation.
Features
- Large file chunk upload
- Pause and resume upload
- Breakpoint continuation
- Upload progress
- File hash calculation (MD5)
- Concurrent upload control
Installation
npm install el-upload-chunk --save
Usage
<template>
<chunk-upload
upload-url="/api/upload"
verify-url="/api/verify"
merge-url="/api/merge"
:request-config="requestConfig"
:chunk-size="1 * 1024 * 1024"
upload-button-text="Upload File"
@upload-success="handleUploadSuccess"
@upload-error="handleUploadError"
@upload-progress="handleProgress"
@upload-pause="handlePause"
@upload-resume="handleResume"
@upload-cancel="handleCancel"
/>
</template>
<script>
export default {
data() {
return {
requestConfig: {
headers: {
'Authorization': 'Bearer xxx'
}
}
}
},
methods: {
handleUploadSuccess(file) {
console.log('Upload success:', file)
},
handleUploadError({ file, error }) {
console.log('Upload error:', error)
}
}
}
</script>
Props
Prop | Type | Required | Default | Description |
---|---|---|---|---|
uploadUrl | String | Yes | - | Upload chunk API URL |
verifyUrl | String | Yes | - | Verify file API URL |
mergeUrl | String | Yes | - | Merge chunks API URL |
chunkSize | Number | No | 1MB | Chunk size in bytes |
uploadButtonText | String | No | '点击上传' | Upload button text |
requestConfig | Object | No | {} | Axios request config |
Events
Event | Parameters | Description |
---|---|---|
upload-success | file | Triggered when file upload is complete |
upload-error | { file, error } | Triggered when upload fails |
upload-progress | { percentage, file } | Triggered during upload |
upload-pause | file | Triggered when upload is paused |
upload-resume | file | Triggered when upload is resumed |
upload-cancel | file | Triggered when upload is cancelled |