cy-plugin-file
v0.0.2
Published
file manage
Readme
文件上传
安装
$ npm i cy-plugin-file示例
import { FileManager,EnumUploadMode,type IUploaderOptions } from 'cy-plugin-file';
const fileManager = new FileManager({
debug:true,
successCode:'0000'
});
// 上传
fileManager
.upload({
mode: EnumUploadMode.CHUNK, // 根据mode 来判断是 单个直接上传还是分片上传
url: '/api/demo/upload', // 直接上传 | 分片上传
chunkMergeUrl: '/api/demo/merge', // 分片上传合并地址
accept: 'image/png,image/jpeg',
multiple: true, // 是否多文件上传
maxCount: 2,// 最大上传数量
headers: { token: 'xxx' },
extraData: { name: 'xxx' },
maxFileSize: 1024 1024 1024,// 最大文件上传大小
chunkSize: 2 1024 1024,// 分片大小
fileFieldName: 'file', // 文件字段名称
maxConcurrency: 3, // 并发上传 3 个
onBefore(files) {
// console.log(
// '准备上传:',
// files.map((f) => f.name)
// );
if (files.length > 3) {
return false;
}
// 返回 false 可直接阻止上传
return true;
},
onProgress(percent, extra) {
console.log(`文件 ${extra?.file.name} 上传进度:${percent}%`);
},
onSuccess(response, extra) {
console.log(`文件上传成功:${extra?.file.name}`, response);
},
onError(error, extra) {
console.log();
console.warn(`文件上传失败:${extra?.file?.name}`, error);
}
})
.then((summary) => {
console.log('上传结束:summary = ', summary);
});
// 取消上传
fileManager.cancelAll();