Narcissistic Preening Monarch

    @packy-tang/qiniu-uploader

    1.0.0 • Public • Published

    qiniu-uploader

    基于现代浏览器的七牛上传前端插件

    • [x] 生成唯一名
    • [x] 分片上传
    • [x] 断点续传

    How to use

    //打开文件选择器
    const token = "七牛上传授权token"
    uploader.openFinder(async (files, uploader)=>{
        const fileKey = await uploader.getFileKey(file)
        uploader.upload(fileKey, files[0], { token })
    });
    
    //手动取消上传
    uploader.cancel()

    功能

    //初次化
    uploader.init(options)
    //打开文件选择框
    uploader.openFinder((files,uploader)=>{})
    //获得文件唯一名
    uploader.getFileKey(file)
    //上传文件
    uploader.upload(fileKey, file, options)
    //取消文件上传
    uploader.cancel(fileKey)
    //清除文件分片缓存
    uploader.clean(fileKey)
    
    // options
    const options = {
        url: '',                         //上传地址
        blockSize: 1<<22,                //分块大小
        chunkSize: 1<<20,                //分片大小
        cookiePrefix: 'QINIU_UPLOAD::',  //缓存cookie前缀
        token: '',                       //上传凭证
        onValid({file, fileKey}, uploader)=>{ return [] },                                                   //文件检测钩子
        onBeforeUpload({file, fileKey}, uploader)=>{ return {file,fileKey} },                                //文件上传前钩子
        onUploadProgress({fileKey, loaded, total, progressStage, progressValue, blockIndex}, uploader)=>{},  //文件上传中钩子
        onUploaded({fileKey, result}, uploader)=>{},                                                         //文件上传成功钩子
        onFail((errors, { isCancel }, uploader)=>{})                                                                   //上传失败钩子
    }

    疑问与坑

    1. 目前分片上传三接口(mkblock、bput、mkfile)均不能捕获错误码(具体原因是未查明,只知道xhr.status为0并提示链接请求错误,如:ERR_CONTENT_LENGTH_MISMATCH),遇到此类情况统一返回错误(信息头为000的错误信息)
    2. 单个文件上传的文件名称不需要UrlsafeBase64处理

    Keywords

    Install

    npm i @packy-tang/qiniu-uploader

    DownloadsWeekly Downloads

    0

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    115 kB

    Total Files

    19

    Last publish

    Collaborators

    • packy-tang