0.1.1 • Published 9 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 --saveUsage
<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 |